Vue.js 0.10 发布了!
2014 年 3 月 22 日
Vue.js 0.10.0 (Blade Runner) 发布了!此版本包含许多基于用户建议的有用新增功能,特别是字面指令中的插值、使用新的 v-view
指令的动态组件、数组过滤器以及配置插值分隔符的选项。在内部,代码库进行了许多重构和改进,这使得 Vue.js 更快。
请查看 安装 页面以获取最新版本。
新增
- 字面指令现在可以包含插值标签。这些标签只会在编译时评估一次。一个示例用法是使用
v-component="{{type}}"
有条件地决定要实例化的组件。 文档. - 在
paramAttributes
选项中列出的属性现在也接受花括号插值。它们也只会被评估一次。 v-repeat
现在接受一个参数,该参数将用作包装对象的标识符。这允许在重复器中更明确地访问属性。 文档.- 添加了
v-view
指令,它绑定到一个字符串值,并使用该字符串作为组件 ID 动态实例化不同的组件。 文档. - 为
v-repeat
添加了filterBy
和orderBy
过滤器。 文档. - 访问其
this
上下文上的属性的自定义过滤器将被视为 **计算过滤器**。 文档. - 您现在可以在
v-on
处理程序表达式中访问事件,如$event
。例如:<a v-on="click:handle('hello', $event)">Hello</a>
- 插值分隔符现在可以通过
delimiters
全局配置选项进行自定义。例如:Vue.config({ delimiters: ["[", "]"] })
将更改匹配的插值标签为文本绑定的[[ ]]
和 html 绑定的[[[ ]]]
。
更改
{{>yield}}
语法已弃用。已引入使用<content>
元素的与 Web Components 规范兼容的内容插入机制。 文档.- 要将组件用作自定义元素,组件 ID 现在必须包含连字符 (
-
)。这与当前的自定义元素规范草案一致。 v-repeat
数组的增强方法已从set
重命名为$set(index, value)
,从remove
重命名为$remove(index | value)
。前缀更好地将它们与原生方法区分开来。replace
方法已被删除。- 使用
v-repeat
迭代对象时,对象不再获得$repeater
数组。相反,对象现在被增强了两种方法:$add(key, value)
和$delete(key)
,它们将触发相应的视图更新。 v-if
现在在绑定值更改时创建和销毁子 ViewModel 实例,而不是简单地删除/插入 DOM 节点。此外,它不能再与v-repeat
一起使用。请改用v-show
或新的内置数组过滤器。v-with
不能再单独使用。它现在必须与v-component
或v-view
一起使用。v-component
也可以用作空指令,只是为了使用默认的Vue
构造函数创建子 VM。- 生产版本现在会剥离所有警告和调试日志。要利用
debug: true
,请使用开发版本。开发版本现在具有更详细的警告消息。
修复
v-on
处理程序内的event.stopPropagation()
和event.preventDefault()
现在按预期工作。parent
选项现在在Vue.extend
中使用时可以正常工作。<textarea>
内的花括号绑定现在在设置为值之前被正确地插值。
内部
v-component
、v-with
和v-if
已被重写,以实现更简洁的编译流程。v-repeat
已被重写,以使用改进的 diff 算法,该算法在将数组设置为包含重叠元素的不同实例时会触发最少的 DOM 操作。这使得通过过滤器传递数组变得高效。template
选项现在直接克隆可用的原生<template>
的内容。- 初始化和渲染的整体性能改进。