vue的自定义指令

186 阅读1分钟
<h2>当前的值:<span v-text='n'></span></h2>
<h2>方法10倍后的值:<span v-big='n'></span></h2>

<input type='text' v-fbind:value='n'>
data(){
    return {
        n: 1
    }
}
directives: {
// big函数何时会被调用?
// 1.指令与元素成功绑定时(一上来)
// 2.指令所在的模板重新解析时 

    big(element,binding){
    // console.log(binding)
    element.innerText = binding.value * 10
    },
    // 元素创建成功之后在调用某一个功能,用上方普通的函数无法实现
    fbind:{
        // 指令与元素成功绑定
        bind(element,binding){
            element.value = binding.value
        },
        // 指令所在元素被插入页面时
        inserted(element,binding){
            element.focus() 
        },
        // 指令所在模板被重新渲染时
        update(element,binding){
            element.value = binding.value
        }
    }
}