Wix Blocks 튜토리얼: 카운터 위젯 생성하기
10 분 분량
Wix Blocks는 모든 Wix Studio 사용자가 사용할 수 있습니다. Blocks에 액세스하려면, Wix Studio에 가입하세요.
이 튜토리얼에서는 숫자를 증가 및 감소시킬 수 있는 카운터 위젯을 구축하는 방법을 보여줍니다. 이 간단한 위젯을 통해 Wix Blocks로 할 수 있는 모든 작업을 안내합니다.
이 위젯을 처음부터 구축할 것을 권장하지만, 문제가 발생하는 경우 Blocks에서 위젯 템플릿을 확인하고 Wix 계정에서 편집할 수 있습니다.
1 단계 | Blocks에 새 위젯 추가하기
- 빈 Blocks 앱을 추가합니다.
- 앱이 기본 위젯으로 생성되지 않은 경우 앱에 위젯을 추가합니다.
스크린샷 표시
2 단계 | 레이아웃터 추가하기
레이아웃터는 반응성을 허용하는 컨테이너입니다. 이는 다른 요소를 정리할 수 있습니다. 레이아웃터를 추가하려면:
- 상단 메뉴의 요소 추가 버튼을 클릭합니다.
- 레이아웃 -> 플렉스박스 -> 레이아웃터를 클릭합니다.
- 세로 형태의 3섹션 레이아웃터를 클릭합니다.
스크린샷 표시
3 단계 | 위젯 요소 추가하기
버튼 추가하기
- 상단 메뉴의 요소 추가 버튼을 클릭합니다.
- 버튼을 클릭합니다.
- 버튼을 레이아웃터의 오른쪽 섹션으로 끌어다 놓습니다.
스크린샷 표시
4. 텍스트 및 아이콘 변경을 클릭합니다.
5. 드롭다운 목록에서 텍스트를 선택합니다.
6. 텍스트를 "+"로 변경합니다.
7. 속성 패널에서 디자인 아이콘을 클릭한 후 텍스트를 선택합니다.
8. 테마를 클릭한 후 드롭다운 목록에서 제목 6을 선택합니다.
9. 다른 정사각형 버튼을 왼쪽 섹션으로 끌어다 놓습니다.
10. 텍스트를 "-"로 변경합니다.
스크린샷 표시
중앙 숫자 추가하기
- 요소 추가 버튼을 클릭한 후 텍스트를 선택합니다.
- 32px 제목 요소를 레이아웃터의 중앙 섹션으로 끌어다 놓습니다.
- 텍스트를 "0"으로 편집하고 중앙에 정렬합니다.
스크린샷 표시
ID 변경하기
- 회면 오른쪽 하단에서 속성 및 이벤트 아이콘을 클릭합니다.
- 증가 버튼의 ID를 incBtn으로 변경합니다.
- 감소 버튼의 ID를 decBtn으로 변경합니다.
- 텍스트 요소의 ID를 countTxt로 변경합니다.
스크린샷 표시
4 단계 | 요소에 코드 추가하기
이제 위젯이 버튼 클릭 시 카운트 업 및 다운을 수행하도록 할 차례입니다.
1. 코드 탭을 클릭하거나 화면 하단으로 이동해 위젯에 코드를 추가합니다.
스크린샷 표시
2. onReady() 함수 앞에 다음 코드를 추가합니다.
1//Set the count to 0 let count = 0; //Assign the count to your text element function render() { $w('#countTxt').text = count.toString(); } //Add a certain amount to the count and fire an event in the widget API function addToCount(amount) { count += amount; render(); }
3. onReady() 함수에 다음 코드를추가합니다.
1 $w('#incBtn').onClick(() => { addToCount(1); }); $w('#decBtn').onClick(() => { addToCount(-1); }); render();
4. 미리보기 버튼을 클릭해 위젯이 어떻게 작동하는지 확인합니다.
5 단계 | 위젯 API로 위젯 사용자 지정하기
위젯에 대한 API를 정의해 사용자(위젯을 설치하는 사이트 소유자)가 필요에 맞게 사용자 지정할 수 있습니다. API는 속성, 이벤트 및 내보낸 함수를 포함할 수 있습니다.
사이트 소유자가 카운트의 "단계"를 결정할 수 있기를 원한다고 가정해 보겠습니다. 아마도 고객은 단계를 2로 설정해 카운트가 0,2,4,6로 진행되기를 원할 것입니다.
위젯 API에서 "단계"라는 속성을 정의하고 사용자가 사용자 지정할 수 있도록 허용할 수 있습니다.
"단계" 속성 정의하기
- 위젯 API 아이콘을 클릭해 위젯 API 패널을 엽니다.
- 속성 섹션에서 속성 추가를 클릭하거나 섹션에 마우스오버한 후 표시되는 아이콘을 클릭합니다.
스크린샷 표시
3. 속성 이름을 "단계"로 지정하고 숫자 유형을 지정합니다. 기본값은 1입니다.
스크린샷 표시
새로운 속성을 고려하도록 코드 변경하기
버튼 클릭 시 addToCount가 기본값인 1이 아닌 속성의 단계와 함께 호출되도록 코드를 변경하세요.
$widget.props를 사용해 속성에 액세스합니다(자동 완성 Velo 제안 참고).
1$w.onReady(function () { $w('#incBtn').onClick(() => { addToCount($widget.props.step); }); $w('#decBtn').onClick(() => { addToCount(-$widget.props.step); }); render(); });
미리보기 모드에서 속성 테스트하기
- 미리보기를 클릭해 미리보기 모드로 이동합니다.
- API 속성 테스트를 클릭합니다.
스크린샷 표시
3. 단계를 다른 숫자로 변경하고 위젯이 어떻게 작동하는지 확인합니다.
스크린샷 표시
위젯 API에 공개 이벤트 추가하기
위젯 API를 사용하면 원할 때마다 발생하는 이벤트를 추가할 수 있습니다.
"카운트" 변수가 변경될 때 발생하는 이벤트를 추가합니다.
- 위젯 API 아이콘을 클릭해 위젯 API 패널을 엽니다.
- 이벤트 섹션에서 공개 이벤트 추가를 클릭하거나 섹션에 마우스오버한 후 표시되는 아이콘을 클릭합니다.
- 이벤트 이름 및 설명을 입력합니다.
스크린샷 표시
4. addToCount() 함수에 다음 줄을 추가해 카운트가 변경될 때 이벤트를 발생시킵니다.
1$widget.fireEvent('change', count);
5. 이제 addToCount() 함수는 다음과 같아야 합니다.
1function addToCount(amount) { count += amount; render(); $widget.fireEvent('change', count); }
사이트 에디터에서 이벤트 확인하기
사이트에 위젯을 설치한 후에는 사이트 에디터에서 이벤트를 포착해야 합니다(이는 8단계에서 설명).
위젯 API에 공개 함수 추가하기
사이트 소유자가 카운트를 0으로 쉽게 설정할 수 있도록 reset() 함수를 생성 및 내보내기하세요.
- 위젯 API 아이콘을 클릭해 위젯 API 패널을 엽니다.
- 함수 섹션에서 공개 함수 추가를 클릭하거나 섹션에 마우스오버한 후 표시되는 아이콘을 클릭합니다.
- 사이트에서 함수를 사용할 모든 사용자가 읽을 수 있는 지정된 JSDoc(주석 블록)과 함께 기본 이름인 foo()의 비어 있는 새 함수가 생성됩니다.
스크린샷 표시
4. 함수 기본 코드 대신 다음 코드를 붙여넣습니다.
1export function reset(){ //This function is part of my public API count = 0; render(); }
5. JSDoc을 업데이트합니다. 참고: 함수의 주석을 이 형식으로 유지해야 합니다.
1/** *@function *@description Sets count to 0 and renders. *@returns nothing */
도움말:
반대의 경우도 가능합니다. 위의 적절한 JSDoc과 함께 내보낸 모든 함수는 오른쪽의 위젯 API 패널에 표시됩니다. 따라서, 공개 함수 추가를 클릭해 템플릿을 받는 대신 코드를 직접 작성할 수 있습니다.
6 단계 | (선택사항) 위젯의 편집 시간 동작 구성하기
구성 탭에서는 사이트 소유자가 에디터에서 위젯을 편집할 때 위젯 및 해당 요소의 동작을 결정할 수 있습니다. 구성 탭에서 몇 가지 옵션을 사용해 보세요.
스크린샷 표시
위젯 요소의 표시 이름을 설정합니다.
- 감소 버튼을 선택합니다.
- 속성 패널에서 구성 요소 이름 아래의 표시 이름을 "My Decrement"로 변경합니다.
스크린샷 표시
에디터에서 텍스트 요소가 선택되지 않도록 설정합니다.
- 카운트를 나타내는 텍스트 요소를 선택합니다.
- 속성 패널의 동작 섹션에서 선택 가능 옵션을 클릭해 파란색 체크 표시를 제거합니다.
스크린샷 표시
7 단계 | (선택사항) 더 많은 디자인 프리셋 추가하기
Blocks를 사용하면 디자인 프리셋을 통해 위젯의 디자인 및 레이아웃을 다양하게 변형할 수 있습니다. 다른 디자인 프리셋을 추가하려면:
- 상단 메뉴에서 디자인 탭을 클릭합니다.
- 앱 구조의 디자인 창에서 디자인 프리셋 섹션의 + 디자인 프리셋 추가를 클릭합니다.
- 추가 작업 아이콘을 클릭해 이름을 변경합니다. 복제 또는 삭제할 수도 있습니다.
스크린샷 표시
4. 중간 섹션의 색상을 변경하는 등 위젯에 가시적인 변경 사항을 적용합니다.
스크린샷 표시
프리셋을 앞뒤로 이동해 차이점을 확인하세요.
프리셋별 변경 vs 전체 변경
일부 디자인 및 레이아웃 변경 사항은 현재 프리셋에만 영향을 미치는 반면, 다른 변경 사항은 모든 프리셋에 영향을 미칩니다(자세히 보기).
8 단계 | 사이트 에디터에서 이벤트 포착하기
중요!
이 단계는 Blocks가 아닌 Wix 에디터 또는 Studio 에디터에서 수행됩니다.
앱에서 이벤트를 확인하려면 사이트 에디터로 이동하세요. 먼저 변경 이벤트에 대한 이벤트 처리기를 등록해야 합니다.
- 위젯 앱을 설치합니다.
- 개발자 모드를 활성화합니다.
- 속성 및 이벤트 아이콘을 클릭합니다.
- 위젯의 ID를 "counter1"과 같이 변경합니다.
- 이벤트 처리기 아래에서 onChange( )를 클릭합니다.
- 상자에서 count1_change를 선택합니다.
스크린샷 표시
이제 함수를 작성합니다. `count`를 매개 변수로 가져오고 결정한 숫자에 도달하면 카운트를 재설정합니다. 이 예시에서는 30입니다. 함수는 다음과 같이 표시됩니다.
1export function counter1_change({data: count}) { // This function was added from the Properties & Events panel. To learn more, visit http://wix.to/UcBnC-4 // Add your code for this event here: if (count > 30) { $w('#counter1').reset();} }
미리보기 또는 게시해 사이트 작동을 확인하세요.
도움이 되었나요?
|