vue.js 双向绑定

经过实际测试

vue会对data属性对应的值进行代理

也就是如果构造时,data中是一个js的对象,那么这个对象改变时就会发生绑定的效果

如果在实例创建之后添加新的属性到实例上,它不会触发视图更新。

如果是直接修改了menu对象,而不是menu.key,值也不会变化

如下所示

[pcsh lang="js" tab_size="4" message="" hl_lines="" provider="manual"]

var menu = {key:currentType}
var topmenu = new Vue({
    el : '#tab',
    data : menu,
})

[/pcsh]

这时的topmenu与menu的是绑定的,原文所说的代理

而如下写法currentType是没有绑定的,只会对data属性对应的全部进行绑定

如下所示

[pcsh lang="js" tab_size="4" message="" hl_lines="" provider="manual"]

var currentType = 'hot';
var topmenu = new Vue({
    el : '#tab',
    data : {
        key:currentType
    }
})

[/pcsh]

原文地址

http://cn.vuejs.org/guide/instance.html

此处评论已关闭