vue 和 angular 还有有些区别的,
比如,vue中的数组数据改变后,view并没有发生改变,angular就不会这样。

所以VUE 在数组扩展方法中提供以了一个新的API arr.$set(index, value);
此方法通过索引index设置数组元素来触发视图的跟新。

例如:vue 中的
data {
    return {
       aa: [{name:jxj,age:25},{name:jxj2,age:252},{name:jxj3,age:253}]   }
}

view : 中  <p>my name{{aa[0].name}},my age is {{aa[0].age}}</p>

(1).当我们直接用索引设置元素aa[i].name 和 aa[i].age时,view不会发生改变。
这是vue的一个缺点,为了弥补,vue中提供了$set()方法,vue中还提供了$remove方法,直接删除数组中的指定元素。this.items.$remove(item)。

那么我们需要使用  aa.$set(0, Object.assign({},aa[0],{name:'jxj2',age:26})),才可以触发view的变换。

Object.assign()是ES6中对象的新方法,合并对象,将原对象中所以可枚举的属性,复制到目标对象中。

这里Object.assign({},aa[0],{name:'jxj2',age:26}) 目标对象是个空对象,将对象中{name:'jxj2',age:26}修改的属性合并到源对象aa[0]中,最终又合并到空对象中。形成一个新对象
{name:'jxj2',age:26}。

ps:和jq 的extend()原理一样的啊

最新文章

  1. Google Chrome 调试
  2. Android UI组件----ListView列表控件详解
  3. javascript值和引用
  4. 求最低分最高分---c#(冒泡排序的运用)
  5. QT5.1.1中MinGW4.8的环境变量配置
  6. js格式化时间为JSON格式 ajax提交 后台处理
  7. iOS进阶之页面性能优化
  8. C语言实现输出一组数字中的所有奇数
  9. KnockoutJS知识规整目录
  10. Jetpack 架构组件 LiveData ViewModel MD
  11. 使用okHttp3 的坑!!
  12. Null Object Design Pattern (Python recipe)
  13. java各版本简单对比
  14. [opencvjichu]cv::Mat::type() 返回值
  15. windows 允许空密码登陆
  16. Android加载asset的db
  17. linux改变apt-get安装源
  18. “Too many open files” 小记
  19. P1315 观光公交
  20. Markdown资料收集

热门文章

  1. filezilla
  2. java String字符串
  3. Timus 1149. Sinus Dances 打印复杂公式
  4. 自定义网站的icon和收藏夹图标
  5. spring mvc对异步请求的处理
  6. CentOS 查看系统版本号
  7. cygwin完全安装步骤方法(组图)
  8. ListView中Button事件
  9. 【mysql+RBAC】RBAC权限处理(转载:http://www.cnblogs.com/xiaoxi/p/5889486.html 平凡希)
  10. vc 6.0 的sdk下载地址