vue 数组push元素 视图没更新

摘要:
Vue包含一组用于观察数组的变异方法,因此它们也会触发视图更新。这些方法如下:push()pop()shift()unshift()split()sort()reverse()问题描述:在tap列下,向每个选项卡添加一行数据,可以一直添加默认行。切换到选项卡1时,阵列已成功添加,但视图未更改。来回切换后手动更新分析:由于JavaScript限制,Vue无法检测到以下已更改的数组:_this.$Set根本不起作用。Push是Vue的突变方法,应该被触发,但它没有。也许推力在最内层,所以它不会改变。

Vue 包含一组观察数组的变异方法,所以它们也将会触发视图更新。这些方法如下:

  • push()
  • pop()
  • shift()
  • unshift()
  • splice()
  • sort()
  • reverse()

问题描述:在tap栏下,给每个tab添加一行数据,默认行就可以一直添加,切换到1号的tab添加时,数组已经添加成功,但是视图就是没有变化,来回切换才手动更新 

分析:由于 JavaScript 的限制,Vue 不能检测以下变动的数组

解决:使用了_this.$set(item, 'answers', Tmp)根本没有起作用,push是Vue的变异方法,应该可以触发,但现在没有。可能push在最里层,所以没变化。所以我就把最外面的对象做了手动更新_this.editableTabs.sort()

vue 数组push元素 视图没更新第1张

vue 数组push元素 视图没更新第2张

推荐网址:

https://blog.csdn.net/zifeiyu130/article/details/78950244

https://www.cnblogs.com/tugenhua0707/p/7440400.html

https://www.cnblogs.com/dabingqi/p/9180628.html

https://blog.csdn.net/weixin_35103712/article/details/64930119

免责声明:文章转载自《vue 数组push元素 视图没更新》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇DNSmasq架设简单DNS服务器vue升级Babel支持可选链和合并空值运算符下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Bash 破壳漏洞Shellshock (CVE-2014-6271)复现分析

漏洞简介 GNU Bash 4.3及之前版本在评估某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行Shell命令。某些服务和应用允许未经身份验证的远程攻击者提供环境变量以利用此漏洞。此漏洞源于在调用Bash Shell之前可以用构造的值创建环境变量。这些变量可以包含代码,...

vue 弹窗时 监听手机返回键关闭弹窗(页面不跳转)

vue 弹窗时 监听手机返回键关闭弹窗(页面不跳转)   [注]:  popstate 事件   a.当活动历史记录条目更改时,将触发popstate事件。   b.如果被激活的历史记录条目是通过对history.pushState()的调用创建的,或者受到对history.replaceState()的调用的影响,          popstate...

nodejs 里https的开启

var privateKey = fs.readFileSync('./key/214278976170532.key', 'utf8');var certificate = fs.readFileSync('./key/214278976170532.pem', 'utf8');var credentials = {key: privateKey, ce...

Windows 下apache https配置(phpstudy)

1.首先获取证书,https://www.pianyissl.com/ 免费三个月的 或者 自己生成私钥、证书,然后应用到apache中。 http://blog.sina.com.cn/s/blog_58f71ef00102wvlx.html 讲解了如何在windows PHPStudy Apache 配置支持HTTPS http://www.cnbl...

终于明白了vue使用axios发送post请求时的坑及解决原理

前言:在做项目的时候正好同事碰到了这个问题,问为什么用axios在发送请求的时候没有成功,请求不到数据,反而是报错了,下图就是报错请求本尊 vue里代码如下: this.$http.post('/getMatterList.do',{"matterIds":"1,2,3"}) .then((res)=>{ conso...

vue页面是否缓存的两种方式

第一种 <keep-alive> <router-view v-if="$route.meta.keepAlive"></router-view> </keep-alive> <router-view v-if="!$route.meta.keepAlive"></router-view&g...