首页 > 其他分享 >『VUE』11. 操作数组的方法(详细图文注释)

『VUE』11. 操作数组的方法(详细图文注释)

时间:2024-04-04 20:59:03浏览次数:21  
标签:11 VUE num1 渲染 items 更新 vue 数组 图文

目录


欢迎关注 『VUE』 专栏,持续更新中
欢迎关注 『VUE』 专栏,持续更新中

vue中操作数组的方法

vue中数组数据呈现在网页,只检测一开始用到的数组的变化,比如你呈现数组a的数据,数据增加了个数,那么v-for也会随之更新,但如果是数组b变化,不会影响到数组a的更新.所以会不会修改原数组非常关键.

  • 说白了,只检测原来指定数组的变化.

会修改原数组的 会进行渲染更新

  • push():向数组末尾添加一个或多个元素。
this.items.push(newItem);
  • pop():移除数组中的最后一个元素。
this.items.pop();
  • shift():移除数组中的第一个元素。
this.items.shift();
  • unshift():向数组开头添加一个或多个元素。
this.items.unshift(newItem);
  • splice():从指定索引位置添加或移除元素。
// 从索引 1 开始删除 1 个元素,并插入新元素
this.items.splice(1, 1, newItem);

不修改原数组的 不会进行渲染更新

  • slice():返回数组的一部分,不修改原数组。
const newArray = this.items.slice(1, 3); // 返回索引 1 到索引 2 的子数组
  • filter():根据条件过滤数组并返回符合条件的新数组,不修改原数组。
const filteredArray = this.items.filter(item => item.id !== itemId);

push自动渲染

在这里插入图片描述


concat 赋值渲染

如果只是简单的concat
在这里插入图片描述

修改核心代码this.num1 = this.num1.concat(i);得到了新数组赋值给原来的数组,原来的数组变化,vue根据原数组渲染更新

<template>
  <h3>数组变化与UI更新</h3>
  <button @click="addArray">add直接修改原数组</button>
  <button @click="addArray2">add得到一个新的数组然后赋值给原数组</button>
  <div>
    <li v-for="item of num1">{{ item }}</li>
  </div>
</template>

<script>
export default {
  data() {
    return {
      num1: [1, 2, 3, 4, 5],
    };
  },
  methods: {
    addArray() {
      var i = this.num1[this.num1.length - 1] + 1; //取数组最后一个数的值,然后将这个值+1
      this.num1.push(i); //将i放入数组中,直接修改了原来的数组
      console.log("i", i, this.num1);
    },

    addArray2() {
      var i = this.num1[this.num1.length - 1] + 1; //取数组最后一个数的值,然后将这个值+1
      this.num1.concat(i); //将i放入数组中,得到了一个新的数组,但是原来数组不变,vue不会渲染更新
      this.num1 = this.num1.concat(i); //将i放入数组中,得到了新数组赋值给原来的数组,原来的数组变化,vue根据原数组渲染更新
      console.log("i", i, this.num1);
    },
  },
};
</script>

在这里插入图片描述


总结

大家喜欢的话,给个

标签:11,VUE,num1,渲染,items,更新,vue,数组,图文
From: https://blog.csdn.net/u011027547/article/details/136697365

相关文章

  • 『VUE』10. 事件修饰符(详细图文注释)
    目录什么是事件修饰符?vuejs不使用修饰符原生js实现禁用事件对象的默认事件使用事件修饰符.prevent使用事件修饰符.stop使用事件修饰符.self欢迎关注『VUE』专栏,持续更新中欢迎关注『VUE』专栏,持续更新中什么是事件修饰符?vue在Vue.js中,事件修饰符......
  • (谷歌浏览器)如何在vscode中搭建vue.js devtools的环境
    搭建过程中明明所有操作步骤都做了,却还是出现下面这种情况: 以下是正确的搭建操作步骤:根据一下图片在vscode中创建文件夹;将以下代码写入; <scripttype="text/javascript"src="../js/vue.js"></script>接下来就是我们需要点击https://vuejs.zcopy.site/,进入到网站后,......
  • vue axios sessionID 每次请求都不同的解决方式
    前端:        后端:注意:配置 allowedOrigins时,如果写的是http://localhost/,而请求的源地址是127.0.0.1。虽然它们通常指向同一台本地计算机,但在CORS规则中被视为不同的源。需更新更新allowedOrigins列表,将现有条目http://localhost:5174替换为http://127.......
  • 11.python的字典dict(下) 遍历字典,结构优化
    11.python的字典dict(下)遍历所有的键值对items()方法是字典的一个内置方法,用于返回字典中所有键值对的视图(view)。它返回一个可迭代的对象,每个元素都是一个包含键和对应值的元组。下面用一个例子来说明items()方法的用法:dict1={'name':'John','age':25,'job':'En......
  • 记录一次Windows11本地部署Qwen1.5-0.5B AWQ模型的经历
    直接上代码,来自魔搭的模型通义千问1.5-0.5B-Chat-AWQ·模型库(modelscope.cn)frommodelscopeimportAutoModelForCausalLM,AutoTokenizerdevice="cuda"#thedevicetoloadthemodelontomodel=AutoModelForCausalLM.from_pretrained("qwen/Qwen1.5-0.5B-C......
  • Java登陆第三十七天——VUE3响应式基础、条件渲染、列表渲染
    响应式数据什么是响应式数据? 当数据发生改变时,DOM树的内容,会和数据同步更新。 vue3不是自动响应式数据,需要经过函数处理得到响应式数据对象。ref和reactive这两个函数都会返回响应式数据对象,但也有不同。refref通常用于将一个基本类型转为响应式数据对象。基本类型包括:数......
  • Vue基础知识:声明式导航---导航链接router-link,router-link是什么,怎么用?router-link-ac
    router-link是什么?vue-router提供的一个全局组件,router-link(用于取代a标签)router-link怎么用?router-link的好处?1.能够跳转,能高亮(自带激活时的类名)1.能跳转,配置to属性指定路径(必须)。本质还是a标签,to不需要多加#既然已经有了a标签,为什么还有加一个router-link标签呢?......
  • ctfshow--web11session置空绕过
    代码审计点击查看代码<?phpfunctionreplaceSpecialChar($strParam){$regex="/(select|from|where|join|sleep|and|\s|union|,)/i";returnpreg_replace($regex,"",$strParam);}if(strlen($passw......
  • 元素拖拽?一个vue指令搞定
    说在前面......
  • 约跑小程序源码(asp.net+vue+element++uniapp+sqlserver)
    开发语言:c#框架:后端asp.netmvcpc管理页面:vue+element数据库:sqlserver开发软件:eclipse/myeclipse/idea浏览器:谷歌浏览器小程序框架:uniapp小程序开发软件:HBuilderX一、前言介绍   约跑小程序是一个小程序。用户跑步可以用宜刻小程序进行记录打卡,也可以选择和其他......