[]
Wijmo는 Vue에 대한 기본 지원을 제공하여, 강력한 UI 컴포넌트를 Vue 애플리케이션에 손쉽게 통합할 수 있도록 해줍니다. Wijmo의 가볍고 뛰어난 성능의 컨트롤을 활용하면 Vue의 반응형 구조와 컴포넌트 기반 아키텍처를 바탕으로, 반응형 데이터 중심 애플리케이션을 효율적으로 개발할 수 있습니다.
Vue용 Wijmo 컴포넌트를 사용하면 Vue 템플릿 마크업 내에서 Wijmo 컨트롤을 직접 사용할 수 있습니다. 각 Wijmo Vue 컴포넌트는 해당 Wijmo 컨트롤을 감싸는 래퍼 역할을 하며, 내부적으로 컨트롤 인스턴스를 자동으로 생성하여 control
속성을 통해 접근할 수 있도록 합니다.
또한, 템플릿 내에서 컨트롤의 속성과 이벤트를 선언적으로 바인딩할 수 있는 기능도 지원합니다.
type=info
참고: Vue 2에서 Wijmo를 사용 중이라면, Vue 3로의 마이그레이션 및 기존 커스텀 컴포넌트의 업데이트를 권장드립니다. 이를 통해 완전한 호환성을 확보할 수 있습니다.
이번 섹션에서는 Vue 3 프로젝트에서 Wijmo를 설정하는 과정을 단계별로 안내합니다. 예시로는 Wijmo의 컴포넌트를 사용하며, Composition API 기반의 Vue 3 프로젝트를 생성하는 방법을 소개합니다.
Vue 애플리케이션을 열고, 패키지를 설치하려는 애플리케이션 폴더로 이동합니다. 아 명령어를 실행하여 npm을 통해 Wijmo의 Vue 패키지를 설치합니다:
npm install @mescius/wijmo.vue2.all
Wijmo의 NPM 패키지에 대한 자세한 내용은 이 주제를 참조해주세요.
Vue3 프로젝트에서 Wijmo 컴포넌트는 다음 두 가지 방식으로 사용할 수 있습니다:
사용자 정의 컴포넌트 레벨 등록
보조 등록 함수 사용
이 설정을 통해 Wijmo Vue 모듈을 가져와 해당 모듈에 포함된 컴포넌트를 사용할 수 있습니다. 예시로 아래 코드는 wj-flex-grid
컴포넌트를 App
컴포넌트의 템플릿에 추가하는 방법을 보여줍니다:
해당 등록 방법은 Wijmo 컴포넌트와 지시자를 컴포넌트 수준에서 등록하는 방식입니다. 예를 들어, 아래 코드는 Wijmo 컴포넌트와 지시자를 가져와서 컴포넌트 수준에서 등록하는 방법을 보여줍니다.
<script setup>
import { ref } from 'vue';
import { WjTooltip as vWjTooltip} from '@mescius/wijmo.vue2.core'; //import directive
import { WjInputNumber } from '@mescius/wijmo.vue2.input'; //import component
const count = ref(3) // variables
</script>
<template>
<button v-wjTooltip="'Just a string'">
Paragraph with a string tooltip.
</button>
<br>
<wj-input-number v-model:value="count"></wj-input-number><br>
</template>
해당 설정을 통해 Wijmo Vue 모듈을 가져와 애플리케이션 수준에서 해당 모듈에 포함된 컴포넌트와 지시자를 사용할 수 있습니다.
이 방법은 애플리케이션 내에서 여러 Vue 컴포넌트가 Wijmo 컴포넌트를 사용할 때 유용합니다. 예를 들어, 아래 코드는 wj-flex-grid
컴포넌트를 App
컴포넌트의 템플릿에 추가하는 방법을 보여줍니다.
main.js
import { createApp } from 'vue'
import App from './App.vue'
import '@mescius/wijmo.styles/wijmo.css';
import {registerGrid} from "@mescius/wijmo.vue2.grid"
let app = createApp(App);
registerGrid(app);
app.mount('#app')
app.vue
<script setup>
import { ref } from 'vue'
// variables
const data = ref(getData())
//methods
function getData() {
var data = [];
var countries= "US,Japan,India,Italy,UK".split(",");
for (let i = 0; i < 5; i++) {
data.push({
id: i+1,
country: countries[i%countries.length],
sales: Math.random() * 1000,
downloads: Math.random() * 1000
});
}
return data;
}
</script>
<template>
<wj-flex-grid :itemsSource="data"></wj-flex-grid>
</template>
Vue 모듈에서 registerModuleName을 한 번만 가져오면 되며, 이상적으로는 단일 페이지 애플리케이션(SPA)의 root 모듈에서 가져오는 것이 좋습니다.
Wijmo 컨트롤이 올바르게 보이고 작동하려면 Wijmo CSS 스타일을 응용 프로그램에 로드해야 합니다. 스타일은 @mescius/wijmo.styles npm 패키지로 제공됩니다.
wijmo.css - 모든 Wijmo 컨트롤에 대한 스타일 포함
응용 프로그램의 루트 구성 요소 파일에 스타일을 로드할 수 있습니다. 단일 파일 컴포넌트 .vue 파일을 사용하는 경우 style 섹션 맨 위에 다음과 같이 css import 문을 추가 하십시오.
import "@mescius/wijmo.styles/wijmo.css";
Vue 애플리케이션에서 Wijmo 사용에 대한 자세한 정보는 Vue 구성 요소 주제를 참조하십시오.