vue -> 自定义指令

一个父组件 和 一个子组件 生命周期钩子 加载顺序

父beforeCreate-父created-父beforeMount-子beforeCreate-子created-子beforeMount-子mounted-父mounted

<body>
  <div id="app">
    商品价格
    <input type="text" v-focus="50">
  </div>
  <script src="./vue.js"></script>
  <script>
    // 全局组件
    Vue.directive('focus', {
      bind(){},//只加载一次,指令第一次绑定要元素上调用,作用一次性的初始化
      inserted(el, binding){
      // el 指令所在 元素 插入到父节点时触发,el是这个dom对象 binding.value是使用这个指令传的值
        console.log(el);
        console.log(binding)
        el.focus();
      },
      componentUpdated(el,binding){
        // 指令所占组件(及其子组件)的虚拟dom更新完毕时触发
      },
      upbind(){}
      // 指令和元素解绑时触发 (比如元素移除了 )
      // 指令中如果涉及到了 定时器或者全局事件绑定在这里要清除
    })
    const vm = new Vue({
      el: '#app',
      data: {
        item:{
          price: 10
        }
      },
    })
  </script>
</body>

局部指令

+ 局部指令
const Home = {
  directives: {
    '指令名': {
      inserted(el,binding){
        // el 指令所在 元素 插入到父节点时触发,el是这个dom对象 binding.value是使用这个指令传的值
      },
      componentUpdated(el,binding){
        // 指令所占组件(及其子组件)的虚拟dom更新完毕时触发
      },
      unbind(){
        // 指令和元素解绑时触发 (比如元素移除了 )
        // 指令中如果涉及到了 定时器或者全局事件绑定在这里要清除
      }
    }
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值