vue filters和directives访问this的问题详解

vue filters和directives访问this

记录一次奇葩的需求。

要求自定义一个指令,点击后能跳转指定路由。

directives和filters压根就没法访问this。

脑袋都想破了。

不废话了,上代码。



解决方案是在data中定义一个that变量指向this,再将这个变量当做参数传进directives,在directives内部就可以访问到this了,filters同理。

directives所遇小bug

自己在利用vue写todoList的时候遇到一个小bug,记录一下

写个指令,当双击进行编辑todo,让其自动聚焦,结果效果如下,

vue filters和directives访问this的问题详解_第1张图片

代码如下:

directives: {
    focus(el,bindings) {
        if(bindings.value) {
              el.focus();
         }
     }
}

多方查找原因,把自定义v-focus指令放末尾,就好了,代码如下:

是否自定义指令都应放后面呢?这就需要以后验证了

完整代码如下:




    
    
    
    Document
    
    


    
  • {{todo.title}}

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

你可能感兴趣的:(vue filters和directives访问this的问题详解)