vue数组操作不更新视图问题
vue 观察数组的变异方法 更新视图
push()
pop()
shift()
unshift()
splice(i,n,arr)
sort(xx)
reverse()
ex: app.book.push({
name:'css',
author:'lee'
})
有些方法不会改变数组
filter()
concat()
slice()
返回新数组 需要用 新返回的数组 更新原数组
app.books= app.books.filter(functiion(item){
return item.name.match(/javascript/)
})
vue 不能检测到数组变化 不能触发视图更新:
1 通过直接搜影 更改变量
ex app.book[3] = 'xxxx';
2 修改数组的长度
app.books.length =1;
解决这个问题 俩种方法
1 vue 内置的set方法 类 splice
Vue.set(app.books,3,{
name:'qqq',
author:'qjb'
})
2 webpack 没有引入Vue 用 $set
this.$set(app.books,3,{
name:'css',
author:'qjb'
})
this指向组建的实例 既 app ,可以使用app.$set()
3 使用 splice
appp.book.splice(3,1,{
name:'css',
author:'qjb'
})
splice(索引,删除的数量(0不删除),插入的变量arr1,arr2,arr3)
更改索引
app.books.splice(1);
、、、、过滤与排序。。。。。。。
不改变原数组
computed:{
filterBooks:function(){
return this.books.filter(function(book){
return book.name.match(/javascript/)
})
}
}
sort()来排序
、、、、、、、、、、、、、、、、、、、、、、
vue数组操作不更新视图问题的更多相关文章
- vue数组对象修改触发视图更新
直接修改数组元素是无法触发视图更新的,如 this.array[0] = { name: 'meng', age: 22 } 修改array的length也无法触发视图更新,如 this.array. ...
- 关于Vue数组操作
Vue的数组操作的实现代码大致如下: const aryMethods = ['push', 'pop', 'shift', 'unshift', 'splice', 'sort', 'reverse ...
- 11. VUE 数组操作
变异方法 Vue 包含一组观察数组的变异方法,所以它们也将会触发视图更新.这些方法如下: push() 添加元素 <ul id="example-1"> <li ...
- Vue数组操作不刷新视图问题的解决
最近使用Vue2.0开发项目,有一个列表使用v-for绑定到数组,按照Vue的推荐方案,使用push.splice.this.$set三个变异方法操作数组.发现在添加页面,三个方法都能及时刷新视图:但 ...
- 【vuejs】vue数组操作
问题:两种操作都能给数组添加数据,但是利用下标添加数据不会自动在视图中渲染,这个是和vue自己的规定有关,这里记录一下 网上到原因,这里附转载链接 点我传送 官网相关说明传送门
- Vue 数组和对象更新,但是页面没有刷新
在使用数组的时候,数组内部数据发生改变,但是与数组绑定的页面的数据却没有发生变化. <ul> <li v-for="(item,index) in todos" ...
- vue数组操作不触发前端重新渲染
暂时使用给数组先赋值 [ ] ,然后重新赋值的方式解决. 此外,能够监听的数组变异方法 https://cn.vuejs.org/v2/guide/list.html#%E5%8F%98%E5%BC% ...
- Vue数组更新及过滤排序
前面的话 Vue为了增加列表渲染的功能,增加了一组观察数组的方法,而且可以显示一个数组的过滤或排序的副本.本文将详细介绍Vue数组更新及过滤排序 变异方法 Vue 包含一组观察数组的变异方法,它们将会 ...
- VUE 数组更新
1.数据方法分类: (1)原数组改变 push pop unshift shift reverse sort splice (2)原数组未变,生成新数组 slice concat filter map ...
随机推荐
- _itemmod_stat
制作几种基础模板,用模板快速生成装备 `comment` 备注 `entry`目标装备 entry `src_entry` 模板装备entry `stat_muilt` 属性倍率 `mindmg_mu ...
- _killerstreak
`count`连杀或终结连杀的数量(最大支持10个) `announceFlag` 0-不广播1-只广播连杀消息2-只广播终结连杀消息3-广播连杀与终结连杀消息 `rewId` 连杀奖励模板Id,对应 ...
- JS基础---到底什么是闭包?它是如何形成的?
1.闭包 先看一个简单的例子 function a() { var i = 0; function b() { alert(++i); } return b; }var c = a(); c(); 这 ...
- Tp3.2 复合查询
我们常常有这样的需求,比如搜索. 搜索出,标题,子标题,内容中包含某某关键字. 这就要and,or结合使用了. $where = ['is_show'=>1,'status'=>1]; / ...
- 把查询的数据导出到elsx表 关于流的概念
1.获取到需要导出的数据 因为这个对象是PagedResulDto类型的 所以封装成Table的时候 传pageList.Items就可以了 PagedResultDto<Search ...
- SpringMVC获取页面表单参数的几种方式
以下几种方式只有在已搭好的SpringMVC环境中,才能执行成功! 首先,写一个登陆页面和一个Bean类 <%@ page language="java" co ...
- vscode下ts-node传入cli参数
ts-node写ts,启动时习惯在package.json里写 "scripts": { "build-ts": "tsc", " ...
- P359 usestock2.cpp
IDE Qt Creator 4.0.3 stock.h #ifndef STOCK_H #define STOCK_H #include <string> class Stock //类 ...
- Codeforces 997 C - Sky Full of Stars
C - Sky Full of Stars 思路: 容斥原理 题解:http://codeforces.com/blog/entry/60357 注意当i > 1 且 j > 1,是同一种 ...
- Linux中计划任务执行脚本crontab-简洁版
我使用的是ubuntu16,所以在ubuntu中一切正常,在其他linux系统中应该都差不多. 1 计划任务,crontab命令选项: -u指定一个用户, -l列出某个用户的任务计划, ...