自定义指令 简化
在新版中,指令的使用范围已经大大减小了:现在指令仅仅被用于低级的 DOM 操作。大多数情况下,最好是使用组件作为代码复用的抽象层。
显要的改变有如下几点:
- 指令不再拥有实例。意思是,在指令的钩子函数中不再拥有实例的
this
。替代的是,你可以在参数中接受你需要的任何数据。如果确实需要,可以通过el
来访问实例。 - 类似
acceptStatement
,deep
,priority
等都已被弃用。为了替换双向
指令,见 示例。 - 现在有些钩子的意义和以前不一样了,并且多了两个钩子函数。 幸运的是,新钩子更加简单,更加容易掌握。详见 自定义指令指南。
升级方式
运行迁移工具找到定义指令的地方。在 helper 工具会把这些地方标记出来,因为很有可能这些地方需要重构。
指令 .literal 修饰符 移除
.literal
修饰符已经被移除,为了获取一样的功能,可以简单地提供字符串修饰符作为值。
示例,如下更改:
<p v-my-directive.literal="foo bar baz"></p>
只是:
<p v-my-directive="'foo bar baz'"></p>
升级方式
运行迁移工具找到实例中使用 .literal
修饰符的地方。