首页>>前端>>Vue->vue2响应式的缺点

vue2响应式的缺点

时间:2023-11-30 本站 点击:1

响应式:数据改变-->视图跟着变

对象新增的属性没有响应式 数组的部分操作没有响应式

   push(),pop(),shift(),unshift(),splice(),sort(),reverse()

以上7中API会修改原数组(vue2的内部重写了这7个API)

其他的操作都不会有响应式

实际简单操作一波

<template>  <div><span v-for="(item,index) in arr " :key="index">{{item}}</span><hr><button @click="arr[0]=100">点击把第一个元素变成100</button>  </div></template><script>export default {data() {    return {        arr:[1,2,3]    }},}</script><style>span{    margin: 10px;    background-color: orange;    padding: 10px;    border-radius: 5px;} button{    background-color: orange;    font-size: 20px;    border: 0;    cursor:pointer;}</style>

你们会发现vue里面的数据其实已经改成100了,但是页面并没有渲染出来.

现在我们换一种,换成splice来操作

<template>  <div><span v-for="(item,index) in arr " :key="index">{{item}}</span><hr><button @click="arr.splice(0,1,100)">点击把第一个元素变成100</button>  </div></template><script>export default {data() {    return {        arr:[1,2,3]    }},}</script><style>span{    margin: 10px;    background-color: orange;    padding: 10px;    border-radius: 5px;} button{    background-color: orange;    font-size: 20px;    border: 0;    cursor:pointer;}</style>

数据修改的同时,dom也成功渲染

原文:https://juejin.cn/post/7098306178379153444


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Vue/3811.html