自定义属性 directives
1.局部
<div id="app">
<p v-text = "n"></p>
<p v-big-number = "n"></p>
<button @click = "n++">点我</button>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
n:1
},
//局部 第一种
directives:{
// 自定义属性 directives
//big函数何时会被调用?指令与元素绑定时
"big-number"(element,binding){
console.log("调用");
// console.log(this);//此处的this指的是window
// console.log(element,binding);
element.innerText = binding.value*10
}
}
})
//局部指令 对象式写法 第二种
// directives: {
// fbind: {
// //指令与元素成功绑定时
// bind(element, binding) {
// element.value = binding.value;
// },
// // 指令插入页码
// inserted(element, binding) {
// element.focus(); //获取焦点
// },
// //指令所在的模板被重新解析时
// update(element, binding) {
// element.value = binding.value;
// },
// },
// },
</script>
2.全局
在Vue实例上方写
//定义全局指令
Vue.directive("big",(element,binding)=>{
element.innerText = binding.value*10
})
然后其他Vue实例也可,例如第二个实例使用
<div id="apps">
<p v-big="n"></p>
</div>
<script>
//定义全局指令 第一种
Vue.directive("big",(element,binding)=>{
element.innerText = binding.value*10
})
//全局指令 第二种
Vue.directive("fbind", {
bind(element, binding) {
element.value = binding.value;
},
// 指令插入页码
inserted(element, binding) {
element.focus(); //获取焦点
},
//指令所在的模板被重新解析时
update(element, binding) {
element.value = binding.value;
},
});
var vm = new Vue({
el: '#app',
data: {
n:1
},
})
</script>