从vue渲染想到的数组方法

 1   <div id="app">
 2         <ul>
 3             <li v-for='item in goods'>{{item}}</li>
 4         </ul>
 5 
 6         <div>{{a}}</div>
 7       
 8         <button v-on:click='demo'>click</button>//由于js的弱点导致的,vue无法检测到数组内部的变化,只能检测到地址变化
 9     </div>
10     <script>
11         var vm = new Vue({
12             el: '#app',
13             data: {
14                 a: 1,
15                 goods: ['aa', 'bb', 'cc', 'rrr']
16             },
17             methods: {
18                 demo: function () {
19                     this.goods=this.goods.concat(1,2,3)//改变原数组,能重新渲染
20                     this.goods.concat(1,2,3)//不改变原数组,不能重新渲染
21                     this.goods.splice(1)//splice方法能够改变原数组会重新渲染
Vue.set(this.goods,1,'fff')//用set方法 能够检测到到变化

22 } 23 } 24 }) 25 </script>

v-for指令如果渲染的对象没有改变地址,则不会重新渲染

 

 

转载于:https://www.cnblogs.com/dangdanghepingping/p/10159953.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值