Vue의 filter 및 directive 자세히 보기
필터는 일반적인 텍스트 포맷에 사용할 수 있습니다.필터는 두 곳에 사용할 수 있습니다: 쌍괄호 삽입값과 v-bind 표현식 (후자는 2.1.0+부터 지원).필터는 JavaScript 표현식의 끝부분에 추가되어야 하며 파이핑 기호에 의해 지정됩니다(공식 문서).
<!-- -->
{{ message | capitalize }}
<!-- `v-bind` -->
<div v-bind:id="rawId | formatId"></div>
1. 참조 없는 전역 필터 정의
Vue.filter('capitalize', function(msg) {// msg
if (!value) return ''
value = value.toString()
return value.charAt(0).toUpperCase() + value.slice(1)
})
2. 참조 글로벌 필터 정의
<div id="app">
<p>{{ msg | msgFormat(' ','--')}}</p>
</div>
<script>
// Vue , msgFormat
Vue.filter('msgFormat', function(msg, arg, arg2) {
// replace , , ,
return msg.replace(/ /g, arg+arg2)
})
</script>
3. 부분 필터국부 필터의 유삼과 무삼의 정의와 사용 방법은 전역 필터와 같다.유일한 차이점은 부분 필터가 vue의 실례에 정의되어 있다는 것이다.그 작용의 구역도 vue 실례 제어 구역이다
// Vue , ViewModel
var vm = new Vue({
el: '#app',
data: {
msg: 'msg'
},
methods: {},
// 。 vue
filters: {
dataFormat(msg) {
return msg+'xxxxx';
}
}
});
vue 사용자 정의 명령 --directive
Vue에는 많은 지령이 내장되어 있다. 예를 들어 v-model, v-show, v-html 등이다. 그러나 때때로 이런 지령은 우리를 만족시키지 못하거나 요소에 특별한 기능을 추가하고 싶을 때 우리는 vue의 강력한 기능인 사용자 정의 지령을 사용해야 한다.
시작하기 전에 우리는 사용자 정의 명령이 해결하는 문제나 장면을 사용하는 것은 일반 DOM 요소에 대해 밑바닥 조작을 하는 것이기 때문에 사용자 정의 명령을 맹목적으로 함부로 사용해서는 안 된다.
전역 명령
Vue.directive('focus', {
// DOM ……
inserted: function (el) {
//
el.setAttribute('placeholder', ' ')
el.focus()
}
})
로컬 명령
directives: {
focus: {
//
inserted: function (el) {
el.focus()
}
}
}
활용단어참조
<input v-focus>
갈고리 함수(옵션)
bind: 한 번만 호출합니다. 명령을 원소에 처음 연결할 때 호출합니다.여기서 일회용 초기화 설정을 할 수 있습니다.
inserted: 귀속 요소가 부모 노드에 삽입될 때 호출됩니다. (부부 노드만 존재하지만 반드시 문서 파일에 삽입된 것은 아닙니다.)
업데이트: 구성 요소의 VNode가 업데이트될 때 호출되지만 하위 VNode가 업데이트되기 전에 발생할 수 있습니다.명령의 값이 바뀔 수도 있고 없을 수도 있습니다.그러나 업데이트 전후의 값을 비교하여 불필요한 템플릿 업데이트를 무시할 수 있습니다. (상세한 갈고리 함수 파라미터 참조)
componentUpdated: 명령어가 있는 구성 요소의 VNode와 하위 VNode를 모두 업데이트한 후에 호출합니다.
unbind: 한 번만 호출합니다. 명령과 요소가 묶일 때 호출합니다.
사용 및 매개변수
순서대로 실행하다
//
Vue.directive('focus', {
bind: function (el, binding, vnode) {
console.log("1")
},
inserted: function (el, binding, vnode) {
console.log("2");
},
update: function (el, binding, vnode, oldVnode) {
console.log("3");
},
componentUpdated: function (el, binding, vnode, oldVnode) {
console.log('4');
},
unbind: function (el, binding, vnode) {
console.log('5');
}
})
다음은 Vue의 filter와directive에 대한 상세한 내용입니다. Vue의 filter와directive에 대한 더 많은 자료는 저희 다른 관련 글을 주목해 주십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Vue Render 함수로 DOM 노드 코드 인스턴스 만들기render에서createElement 함수를 사용하여 DOM 노드를 만드는 것은 직관적이지 않지만 일부 독립 구성 요소의 디자인에서 특수한 수요를 충족시킬 수 있습니다.간단한 렌더링 예는 다음과 같습니다. 또한 v...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.