vue中哪些数组的方法可以做到响应式?

一:可以做到响应式的方法:一下方法可以做到数组改变,页面上数据相应
1、删除数组最后一位元素:pop()
2、向数组最后面添加元素:push() 。注意:可以添加多个元素,比如 letters.push( ‘a’ , ‘b’ )
3、删除数组第一位元素:shift()
4、向数组最前面添加元素:unshift()。注意:可以添加多个元素,比如 letters.unshift( ‘a’ , ‘b’ )
5、删除(或插入或替换)数组元素:splice()
比如删除元素:splice(2) 是 从第二位开始删除后面所有元素;
比如删除元素:splice(2,3) 是 从第二位开始删除3个元素;
比如插入元素:splice(2,0,‘j’,‘k’) 是 在第二位开始插入元素 ‘j’,‘k’;
比如替换元素:splice(2,3,‘m’,‘n’,‘p’) 是 在第二位开始替换3个元素为’m’,‘n’,‘p’;
6、数组排序:sort();
7、数组内容反转:reverse();

<div id = 'app'>
	<div v-for='item in data'>{{ item }}</div>
</div>
<button @click='btnClick'>按钮</button>
<script>
	const app = new Vue({
		el:'#app',
		data:{
			letters:['a','b','c']
		},
		methods:{
			btnClick(){
			 this.letters.push('aaa');
			}
		}
		})

</script>

二:不可以做到响应式的方法
1、通过索引值修改数组中元素

// 数组值虽然变化了,但是并没有相应到页面上,此时的数组值其实是 ['aaa','b','c']
btnClick(){
  this.letters[0]('aaa');

  // 替换方法一:splice()
  this.letters.splice(0,1,'aaa')
  // 替换方法二:Vue.set()。vue内部函数(这个也是响应式的)
  Vue.set(this.letters,0,'aaa')
}
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值