1.简单举一个v-for列表渲染例子

<template><div><ul><li v-for="item in items">{{item}}</li></ul></div>
</template>
<script>exportdefault{data () {return{items:['html','css','javascript']}},}</script>

2.修改items数组中的值

  • demo  :  https://run.iviewui.com/9OwDCfZE
  • 结果发现数组中的值虽然发生了变化,但是watch中并没有监听到数组的变化,并且DOM也没有发生改变;
1 methods:{2 hadnleupdata(){3         this.items[1]='python';4         console.log(this.items)5 }6 },7 watch:{8 items(val){9         console.log('watch中items值为:',val)10 }11     }

3. 如何解决并让DOM更新?

  1. 利用 $forceUpdate 强制更新

    • 在使用Vue框架开发时,在函数中改变了页面中的某个值,在函数中查看是修改成功了,但在页面中没有及时刷新改变后的值,就可以使用此方法;
      • demo : https://run.iviewui.com/pgRGJ9CL
      • 通过这种方式发现DOM虽然发生了改变,但是watch中的监听事件并没有触发;
1 methods:{2 hadnleupdata(){3         this.items[1]='python';4         console.log(this.items)5         this.$forceUpdate();6 }7 },8 watch:{9 items(val){10         console.log('watch中items值为:',val)11 }12     }

  2. Vue.js 包装了被观察数组的变异方法,故它们能触发视图更新。被包装常用的方法有:

  • push()
  • pop()
  • shift()
  • unshift()
  • splice()
  • sort( )
demo : https://run.iviewui.com/GnL4vAZA
通过这种方式发现 DOM 发生了改变并且 watch 监听事件也被触发了;
1 methods:{2 hadnleupdata(){3         this.items.splice(1,1,'python')4         console.log(this.items)5 }6 },7 watch:{8 items(val){9         console.log('watch中items值为:',val)10 }11     }

4. 结合iview提供的Table组件使用案例:https://run.iviewui.com/oM49rQ7H

    

转载于:https://www.cnblogs.com/yuzhongyu/p/10443606.html

v-for列表渲染之数组变动检测相关推荐

  1. 【Vue教程四】条件渲染、列表渲染、数组更新

    一.条件渲染:[v-if][v-show] 1.v-if 指令用于条件性地渲染一块内容. 1.1.在元素中使用 v-if 指令: <body><div id="app&qu ...

  2. vue.js循环for(列表渲染)详解

    vue.js循环for(列表渲染)详解 一.总结 一句话总结: v-for <ul id="example-1"> <li v-for="item in ...

  3. Vue - 条件渲染与列表渲染

    条件渲染 v-if v-if会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建. <div id="app"><h3 v-if="ok&q ...

  4. Vue.js入门学习--列表渲染--v-for遍历数组生成元素(四)

    完整案列demo: <html><head><title>列表渲染--v-for遍历数组生成元素</title><script src=" ...

  5. 【Vue】基础系列(五)列表渲染v-for | key的原理 | 数组 | 对象 | 删除替换 | 过滤与排序

    1. 列表显示 v-for指令 用于展示列表数据 语法:v-for="(item, index) in xxx" :key="yyy" 可遍历:数组.对象.字符 ...

  6. json vue 对象转数组_vue.js基于v-for实现批量渲染 Json数组对象列表数据示例

    本文实例讲述了vue.js基于v-for实现批量渲染 json数组对象列表数据.分享给大家供大家参考,具体如下: vuejs的出现减轻了对dom的直接操作,同时它提供的 v-for 渲染列表数据也给我 ...

  7. 【微信小程序】二维数组列表渲染

    微信小程序官方文档主要是一维数组列表渲染的案例: Page({items: [{message: 'foo',},{message: 'bar'}] }) <view wx:for=" ...

  8. JSX列表渲染(五)——4种写法:基本写法 遍历写法 map遍历写法(常用-加工处理数组的每一项数据,最后形成一个新的数组) 列表遍历可以直接写到表达式中

    JSX列表渲染--4种写法:基本写法 & 遍历写法 & map遍历写法(常用-加工处理数组的每一项数据,最后形成一个新的数组) & 列表遍历可以直接写到表达式中 渲染多个元素 ...

  9. Vue.js 第二天: 列表渲染

    用v-for 把一个数组对应为一组元素 我们用 v-for 指令根据一组数组的选项列表进行渲染.v-for 指令需要使用 item in items 形式的特殊语法,items 是源数据数组并且 it ...

最新文章

  1. Linux下安装mysql(2) 及常见问题解决(CentOS)
  2. 路由器mstp多域配置举例
  3. sleep防止CPU占用100%
  4. Kali下JDK1.8的安装过程
  5. 慕课php进阶篇,PHP进阶篇-函数
  6. xaml_XAML或JavaFx?
  7. 用Crossdev安装MIPS交叉编译工具链
  8. mysql 5.7 导入出错_mysql5.x数据库文件导入mysql5.7数据库出错解决方法
  9. Spring Boot基础学习笔记17:Spring Boot默认缓存
  10. spring ioc原理_干了5年的Java面试官,把他喜欢问的几十个Spring面试题告诉我了
  11. Python中fastapi构建的web项目配置环境变量
  12. [vb]格式输出Format函数
  13. 团队计划(4.22)
  14. 再谈如何写好技术文档?
  15. 《ARM体系结构与编程》中的严重错误
  16. 【贪玩巴斯】数据仓库与数据挖掘(五)——「数据仓库项目的设计过程和开发团队介绍」2021-10-26
  17. 程序猿来找找自己的目标
  18. ios13 微信提示音插件_ios13怎么设置微信提示音
  19. NXP RT1052 eFlexPWM—灵活的增强型 PWM例程
  20. 手撸架构,Nginx 面试40问

热门文章

  1. L1-054 福到了-PAT团体程序设计天梯赛GPLT
  2. 【Sublime】Mac下Sublime代码自动换行
  3. 微软推出Windows Sandbox:可安全运行任何应用的一次性VM\n
  4. Ansible8:Playbook循环
  5. 如何将cocos2d-x项目打包成一个.exe
  6. Javascript 钩子机制——开会得出的结论
  7. 【收藏】ASP.NET英文技术文章推荐[10/28 – 11/3]
  8. 经典算法——合并两个有序单向链表
  9. Windows 7 下 QT5 开发环境搭建
  10. eclipse图标含义