<input type="text" class="form-control" v-model="keywords" id="search" v-focus>

自定义指令 v-focus 获取焦点,注册全局指令

Vue.directive('focus',{
  bind:function(){
  //指令绑定 到元素上时立即实行该bing函数,只执行一次
  //在每个函数中第一个参数永远书el
  //在元素刚绑定了指令的时候,还没有插入到dom中去这时候调用focus没作用,只有插入dom之后才能获取焦点
  // el.focus()
  },
  inserted:function(el){
 //元素插入到DOM中的时候,会执行inserted,触发一次
    el.focus()
  },
  updated:function(){
//当组件vnode更新的时候执行update可能会触发多次
  }
})

报错   Failed to resolve directive: focus  

原因:注册的全局指令要放在vue实例化对象前面。否则会报以上错误

Logo

前往低代码交流专区

更多推荐