因为 JavaScript 的限制,Vue.js 不能检测到下面数组变化:

  1. 直接用索引设置元素,如 vm.items[0] = {};

  2. 修改数据的长度,如 vm.items.length = 0。

  3. this.examineIntro.questionList[0].selList[1].url = url;

为了解决问题 (1),Vue.js 扩展了观察数组,为它添加了一个 $set() 方法:

// 与 example1.items[0] = ... 相同,但是能触发视图更新

Vue.set(example1.items[0], { childMsg: 'Changed!'})

使用Vue的变异方法

pop()

push()

shift()

unshift()

revese()

sort()

splice()

也会触发视图更新

之前不知道前面的方式的时候我就是用先push再 pop解决的

Vue 数组中更新属性值后,视图不更新,等待其他元素更新后会触发的解决办法的更多相关文章

  1. vue数组中对象属性变化页面不渲染问题

    问题引入 Vue之所以能够监听Model状态的变化,是因为JavaScript语言本身提供了Proxy或者Object.observe()机制来监听对象状态的变化.但是,对于数组元素的赋值,却没有办法 ...

  2. js从一个对象数组中根据属性值大小排序

    <script type="text/javascript"> var sdts = [ {name:"小明",age:30}, {name:&qu ...

  3. vue 数组中嵌套的对象添加新属性--页面更新

    vue 数组中嵌套的对象添加新属性--页面更新:https://www.jianshu.com/p/8f0e5bb13735

  4. vue修改对象的属性值后页面不重新渲染

    原文地址:vue修改对象的属性值后页面不重新渲染 最近项目在使用vue,遇到几次修改了对象的属性后,页面并不重新渲染,场景如下: HTML页面如下: [html] view plain copy &l ...

  5. Js数组对象的属性值升序排序,并指定数组中的某个对象移动到数组的最前面

    需求整理: 本篇文章主要实现的是将一个数组的中对象的属性值通过升序的方式排序,然后能够让程序可以指定对应的数组对象移动到程序的最前面. 数组如下所示: var arrayData= [{name: & ...

  6. ajax取到数据后如何拿到data.data中的属性值

    今天遇到的ajax取到数据后如何拿到data.data中的属性值的问题 比如拿到了数据 我要取出data中的name 题外话:当然取名最好别取什么奇怪的xiaobi

  7. vue监听数组中某个属性,计算其他属性问题

    今天在项目开发中遇到一个根据数组中某个属性变化同时更新另一个属性变化的问题,刚开始代码如下 this.weekList1=r.data.roomProducts; this.weekList1.map ...

  8. JavaScript去除数组中的重复值

    用原型函数(prototype)可以定义一些很方便的自定义函数,实现各种自定义功能. Javascript 中的原型函数(prototype)的工作原理,在 javascript 中每次声明新函数的过 ...

  9. JavaScript查找数组中最大的值

    // 查找一个数组中最大的数 // 定义一个方法 searchMax function searchMax(arr) { // 声明一个变量MaxNumber假设为数组中最大的值arr[0]; var ...

  10. PHP检测数组中的每个值是否含有特殊字符

    本文出至:新太潮流网络博客 /** * [TestArray 检测数组是一维还是二维] * @E-mial wuliqiang_aa@163.com * @TIME 2017-04-07 * @WEB ...

随机推荐

  1. Linux程序

    1.如何找到一个进程的安装程序目录与启动目录 2.如何完全卸载一个程序

  2. 从0开始学习 GitHub 系列汇总笔记

    本文学习自Stromzhang, 原文地址请移步:从0开始学习 GitHub 系列汇总 我的笔记: 0x00  从0开始学习GitHub 系列之[初识GitHub] GitHub 影响力 a.全球顶级 ...

  3. Pyqt4 360界面风格皮肤实现

    前言 最近用Pyqt做了软件界面,始终觉得windows风格不太好看,虽然数字公司的行为有争议,但是也不影响我欣赏360卫士的界面风格. 声明 首先声明,此项工作并非原创,而是基于这位zhuyeqin ...

  4. HP Vertica Analytics Platform 评測

    1.vertica概念 面向数据分析的数据仓库系统解决方式 2.vertica关键特性 Ø  标准的SQL接口:能够利用已有的BI.ETL.Hadoop/MapReduce和OLTP环境 Ø  高可用 ...

  5. eclipse.ini配置文件

    Eclipse安装Maven插件后,Eclipse启动问题:Maven Integration for Eclipse JDK Warning.  解决方法: 1. 设置Eclipse使用的JRE为本 ...

  6. 10-客户端防表单重复提交和服务器端session防表单重复提交

    /****************************************************DoFormServlet********************************** ...

  7. 触发器 (Delete Update)

    --delete触发器IF(EXISTS(SELECT * FROM sysobjects WHERE name='T_PlanQtyDelete'))DROP TRIGGER T_PlanQtyDe ...

  8. mybatis的拦截器及分页机制

    https://blog.csdn.net/ssuperlg/article/details/79847889

  9. eclipse没有(添加)"Dynamic Web Project"选项的方法

    建议使用代理lantern,否则可能要花很长时间显示和下载插件 http://www.dabu.info/eclipse-no-add-dynamic-web-project-option.html ...

  10. erlang中遍历取出某个位置的最大值

    例:有这么一个列表,A = [["abc","bds",3],["ssdss","dddx",2],["sfa ...