Vue框架中监测数组变化的方法

一 变更方法

调用 push()方法 会直接影响ui变化

html 复制代码
<template>
<div>
    <ul>
        <li v-for="(item,index) in nums " :key="index"></li>
    </ul>
</div>
<button @click="add">添加数据</button>
</template>

<script>
export default{
    data(){
        return{
            nums:["java" ,"c" ,"vue"]
        }
    },
    methods:{
        add(){
            this.nums.push("js");
        }
    }
}
</script>

二 替换一个数组 不会直接影响ui变化

html 复制代码
<template>
<div>
    <ul>
        <li v-for="(item,index) in nums " :key="index"></li>
    </ul>
</div>
<button @click="add">添加数据</button>
</template>

<script>
export default{
    data(){
        return{
            nums:["java" ,"c" ,"vue"]
        }
    },
    methods:{
        add(){
           this.nums =  this.nums.concat(["js"])
        }
    }
}
</script>

如果只是this.nums.concat(["js"])ui见不会发生变化 需要重新赋值给nums 才会在浏览器中显示出新添加的数组元素 js;

相关推荐
mCell14 小时前
GSAP ScrollTrigger 详解
前端·javascript·动效
gnip14 小时前
Node.js 子进程:child_process
前端·javascript
excel17 小时前
为什么在 Three.js 中平面能产生“起伏效果”?
前端
excel18 小时前
Node.js 断言与测试框架示例对比
前端
天蓝色的鱼鱼20 小时前
前端开发者的组件设计之痛:为什么我的组件总是难以维护?
前端·react.js
codingandsleeping20 小时前
使用orval自动拉取swagger文档并生成ts接口
前端·javascript
石金龙21 小时前
[译] Composition in CSS
前端·css
白水清风21 小时前
微前端学习记录(qiankun、wujie、micro-app)
前端·javascript·前端工程化
Ticnix21 小时前
函数封装实现Echarts多表渲染/叠加渲染
前端·echarts
用户221520442780021 小时前
new、原型和原型链浅析
前端·javascript