vue的数组如何存储数据
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()原理一样的啊
最新文章
- Google Chrome 调试
- Android UI组件----ListView列表控件详解
- javascript值和引用
- 求最低分最高分---c#(冒泡排序的运用)
- QT5.1.1中MinGW4.8的环境变量配置
- js格式化时间为JSON格式 ajax提交 后台处理
- iOS进阶之页面性能优化
- C语言实现输出一组数字中的所有奇数
- KnockoutJS知识规整目录
- Jetpack 架构组件 LiveData ViewModel MD
- 使用okHttp3 的坑!!
- Null Object Design Pattern (Python recipe)
- java各版本简单对比
- [opencvjichu]cv::Mat::type() 返回值
- windows 允许空密码登陆
- Android加载asset的db
- linux改变apt-get安装源
- “Too many open files” 小记
- P1315 观光公交
- Markdown资料收集
热门文章
- filezilla
- java String字符串
- Timus 1149. Sinus Dances 打印复杂公式
- 自定义网站的icon和收藏夹图标
- spring mvc对异步请求的处理
- CentOS 查看系统版本号
- cygwin完全安装步骤方法(组图)
- ListView中Button事件
- 【mysql+RBAC】RBAC权限处理(转载:http://www.cnblogs.com/xiaoxi/p/5889486.html 平凡希)
- vc 6.0 的sdk下载地址