vue中自定义指令声明变量
参考 Stack Overflow 中的问题。
场景:在 vue 自定义指令中,在 mounted 声明周期内,将传入的变量存起来,在 updated 生命周期内使用变量做其他操作。
代码如下:
1 | import type { Directive } from 'vue'; |
这个时候呢,就会有ts报错,浏览器控制台也会报错。
TS报错
对象文字可以只指定已知属性,并且“customerText”不在类型“Directive<any, any>”中。ts(2322)
控制台报错
TypeError: Cannot set properties of undefined (setting ‘customerText’)
那如何在Vue自定义指令中声明变量呢?官方文档
1 | const customDirective: Directive = { |
该种方式将数据通过元素的 dataset attribute 实现,可以实现同一个元素中跨钩子的数据共享。