vue2.0和vue3.0全局指令的区别

这篇博客探讨了Vue.js中自定义指令的使用,从Vue 2.0的`Vue.directive()`注册方式到Vue 3.0的`Vue.createApp().directive()`的改变。通过示例展示了如何在Vue组件中实现自动聚焦功能,同时对比了两个版本在指令注册和应用上的差异。
摘要由CSDN通过智能技术生成

vue2.0

<script src="https://cdn.jsdelivr.net/npm/vue@2.6.12"></script>

<div id="app">
  <input type="text" v-focus="1+1">
</div>

<script>
  // 自动聚焦的功能
  Vue.directive('focus', {
    inserted(el, binding) {
      // 聚焦功能
      // 调用原生dom身上的focus方法
      console.log(binding)
      el.focus()
      // 只要需要操作dom身上的属性或者方法 都可以写到这里
      // 如果还需要传进来表达式的值  binding.value
      // img dom src
    }
  })
  new Vue({
    el: '#app'
  })
</script>

<!-- 
  vue2.x
  1.核心API
    Vue.directive('focus', {

    })
 -->

vue3.0

<script src="https://unpkg.com/vue@next"></script>


<div id="app">
 <input type="text" v-focus="1+1" />
</div>

<script>
 // 1.使用createApp方法生成一个app实例对象
 const app = Vue.createApp({})
 // 2.全局指令注册
 app.directive('focus', {
   mounted(el, binding) {
     el.focus()
     console.log(binding)
   }
 })
 // 3.挂载app到真实的dom
 app.mount('#app')
 
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值