VueJS Filter를 이용한 Acronym Dictionary 기능 만들기
Vue 객체에 데이터 바인딩된 변수를 정의한다.
new Vue({
el: '#app',
data: {
cat: 'navi'
}
})
VueJS에서 데이터 바인딩된 변수를 HTML 상에서 사용하고 싶을 때는 {{ }}
를 감싸서 사용한다.
<div id="app">
{{ cat }}
</div>
VueJS에서는 Text Filter를 손쉽게 정의해서 사용 가능하다.
index.js에 선언된 Vue 객체에 filter 함수를 선언하고 filter 이름과 콜백함수를 선언하면 text filter가 생성된다.
Javascript
let AcronymDictionary = {
EU: "European Union",
US: "United States of America",
CN: "China",
PH: "Philippines",
}
// 첫번째 인자 값은 filter의 이름
// 두번째 인자는 실행할 filter의 함수
Vue.filter('acronymInterpreter', function (original) {
let modified = original;
// input data(original)이 미리 정의된 JSON 객체의 key 값으로 존재하는지 확인
// 값이 존재하면 value 값을 반환
if(AcronymDictionary[original]) { modified = AcronymDictionary[original]; }
return modified;
})
new Vue({
el: '#app',
data: {
acronym : "EU"
}
})
HTML
데이터 바인딩 변수 | filter 이름 으로 선언.
filter callback 함수의 인자로 선언한 변수가 입력됩니다.
<div id="app">
<p>{{ acronym | acronymInterpreter }}</p>
</div>
Vue 객체에 데이터를 바인딩하는 변수 acronym에 EU를 선언해서 화면에는 filter가 적용되어서 European Union 이라는 Text가 출력된다.
이미지 파일 타입과 종류 (0) | 2019.08.12 |
---|---|
[HTML] HTML5 Specification (0) | 2019.06.11 |
Javascript Front Framework 비교 (0) | 2018.06.12 |
라즈베리파이 외부 접속 (0) | 2017.12.31 |
자바스크립트 객체 종류와 생성 시기 (0) | 2017.08.24 |