自定义指定
附加记录:
<body>
<div id="app">
<h2>当前的值:<span v-text="account"></span></h2>
<!-- v-big-number -->
<h2>十倍:当前的值:<span v-big="account"></span></h2>
<button @click="account++">+1</button>
<br>
<input type="text" v-fbig:value="account">
</div>
<script type="text/javascript" >
// 定义全局指令
// Vue.directive('fbig',{
// // 指令与元素成功绑定时调用
// bind(element,binding){
// element.value = binding.value
// },
// // 指令所在元素被插入页面时调用
// inserted(element,binding){
// element.focus()
// },
// // 指令所在模板被重新解析时调用
// update(element,binding){
// console.log(binding.value)
// element.value = binding.value
// vm.account = binding.value
// },
// })
// Vue.directive('big',function(element,binding){
// console.log(binding)
// element.innerText = binding.value * 10
// })
const vm = new Vue({
el:'#app',
data:{
account:'12'
},
// 指令相关的this 都是windonw
directives:{
// big:{},
// element 真是dom模板
// binding 里面有value,还有表达式,
// 指令与元素成功绑定时,调用(第一次) | 指令所在的模板被重新解析时调用
// 'big-number'
big(element,binding){
// console.log(binding)
element.innerText = binding.value * 10
},
// 简写方式,相当于,bind和update,没有inserted
fbig:{
// 指令与元素成功绑定时调用
bind(element,binding){
element.value = binding.value
},
// 指令所在元素被插入页面时调用
inserted(element,binding){
element.focus()
},
// 指令所在模板被重新解析时调用
update(element,binding){
console.log(binding.value)
element.value = binding.value
vm.account = binding.value
},
},
// fbig(element,binding){
// element.value = binding.value
// element.focus()
// }
}
})
</script>
</body>