Slate 로직과 상태 연결
Slate는 조회한 데이터를 화면에 맞게 변환하고 위젯의 상태에 따라 동작하도록 함수, Handlebars, 변수와 이벤트를 제공합니다. 입력이 준비되었는지에 따라 표시를 바꾸거나 사용자 선택을 질의에 전달하는 구성을 만들 수 있습니다.
구성 요소
| 요소 | 역할 |
|---|---|
| Slate 함수 | JavaScript로 질의 결과와 위젯 또는 변수값을 읽고 가공한 결과를 반환합니다. 문자열 변환, 화면에 전달할 값이나 CSS 클래스 구성 등에 사용합니다. |
| Handlebars | {{...}}로 한 구성 요소의 값을 다른 곳에 참조합니다. 함수 결과를 위젯에 넣거나 질의 결과를 이벤트에서 사용할 수 있습니다. |
| 변수 | 앱 상태, 사용자 입력과 기본값을 저장합니다. 이벤트나 URL 매개변수로 값을 지정할 수 있습니다. |
| 이벤트와 액션 | 발생한 이벤트에 실행할 동작을 연결합니다. 버튼 클릭으로 질의를 제출하거나 대화상자가 닫힌 뒤 알림을 띄우는 구성입니다. |
Variables 패널의 표 편집기는 셀 값 수정, 열 너비 조정과 문맥 메뉴를 제공하며 CSV로 표 데이터를 초기화하거나 갱신할 수 있습니다. 앱에 값을 저장할지 질의로 가져올지는 데이터 크기와 갱신 방식에 맞춰 선택합니다.
데이터와 실행의 관계
질의나 변수의 값을 Handlebars로 함수에 전달하고 함수 결과를 위젯 속성에 연결합니다. 의존 관계에서 어떤 요소가 이 결과를 사용하는지 찾을 수 있습니다.
예를 들어 열 배열로 받은 질의 데이터를 행별 반복에 사용하려면 행과 열 스키마 변환을 수행합니다. 사용자 입력을 보관할 때에는 변수의 Shared/Local 범위와 앱 재로드 후 보존 여부를 정합니다.
이벤트의 Action 본문은 실행할 동작에 맞는 값을 반환합니다. 변수의 .set 액션에는 새 변수값을 반환하고, 동작을 시작시키는 버튼의 클릭 같은 이벤트와 연결합니다. Slate 함수의 결과 계산과 상태 변경을 담당하는 액션의 역할을 구분하여 구성합니다.