最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue中splice()方法對數(shù)組進(jìn)行增刪改等操作的實(shí)現(xiàn)

 更新時間:2023年05月18日 09:05:15   作者:李長庚  
vue中對數(shù)組的元素進(jìn)行刪除,以前一直以為這個方法是vue中特有的,后來百度之后才知道原來是js的一個寫法,下面這篇文章主要給大家介紹了關(guān)于Vue中splice()方法對數(shù)組進(jìn)行增刪改等操作的實(shí)現(xiàn)方法,需要的朋友可以參考下

語法結(jié)構(gòu):splice(index,len,[item])

1、可以用來添加/刪除/替換數(shù)組內(nèi)某一個或者幾個值

2、該方法會改變原始數(shù)組

  • index:數(shù)組開始下標(biāo)       
  • len: 替換/刪除的長度       
  • item:替換的值,刪除操作的話 item為空

一、刪除:

index表示要刪除的數(shù)組下標(biāo), len長度為1(len設(shè)置1,如果為0,則數(shù)組不變),item為空表示執(zhí)行刪除操作

<template>
<div id="demo">
  <h2>v-for 遍歷數(shù)組</h2>
  <ul>
    <li v-for="(item, index) in persons" :key="index">
	      序號:{{index}}
	      名字:{{item.name}}
	      年齡:{{item.age}}
     <button @click="del(index)">刪除</button>
    </li>
  </ul>
</div>
</template>
<script>
export default {
  data(){
    return{
        persons: [
          {name: 'Tom', age:18},
          {name: 'Jack', age:17},
          {name: 'Bob', age:19},
          {name: 'Mary', age:16}
        ]
    }
  },
  methods:{
       //刪除(注意:刪除的方法名不能用delete,因?yàn)閐elete是系統(tǒng)關(guān)鍵字)
      del(index) {
        this.persons.splice(index, 1) 
      }
  }
}
</script>
<style>
</style>

二、替換(修改):

相當(dāng)于是先刪除,再添加

<div id="demo">
  <h2>測試: v-for 遍歷數(shù)組</h2>
  <ul>
    <li v-for="(item, index) in persons" :key="index">
	      序號:{{index}}
	      名字:{{item.name}}
	      年齡:{{item.age}}
     <button @click="update(index, {name:'張三', age: 16})">更新</button>
    </li>
  </ul>
</div>
<script type="text/javascript" src="../js/vue.js"></script>
<script type="text/javascript">
  new Vue({
    el: '#demo',
    data: {
      persons: [
        {name: 'Tom', age:18},
        {name: 'Jack', age:17},
        {name: 'Bob', age:19},
        {name: 'Mary', age:16}
      ]
    },
    methods: {
      //修改
      update(index, item) {
        this.persons.splice(index, 1, item)
      }
    }
  })
</script>

三、添加:

index下標(biāo)直接設(shè)置為0,len長度也設(shè)置為0,item傳入要添加的對象

<div id="demo">
  <h2>測試: v-for 遍歷數(shù)組</h2>
  <ul>
    <li v-for="(item, index) in persons" :key="index">
	      序號:{{index}}
	      名字:{{item.name}}
	      年齡:{{item.age}}
    </li>
  </ul>
  <button @click="add({name: '李四', age: 18})">添加</button>
</div>
<script type="text/javascript" src="../js/vue.js"></script>
<script type="text/javascript">
  new Vue({
    el: '#demo',
    data: {
      persons: [
        {name: 'Tom', age:18},
        {name: 'Jack', age:17},
        {name: 'Bob', age:19},
        {name: 'Mary', age:16}
      ]
    },
    methods: {
        //添加
        add (item) {
            this.persons.splice(0, 0, item)
        }
    }
  })
</script>

附加知識點(diǎn):

在v-for遍歷中,都需要聲明:key,那么:key的作用是什么呢?

答:vue和react都實(shí)現(xiàn)了一套虛擬DOM,使我們可以不直接操作DOM元素,只操作數(shù)據(jù)便可以重新渲染頁面。而隱藏在背后的原理便是其高效的Diff算法。vue和react的虛擬DOM的Diff算法大致相同,其核心是基于兩個簡單的假設(shè):

假設(shè)1、 兩個相同的組件產(chǎn)生類似的DOM結(jié)構(gòu),不同的組件產(chǎn)生不同的DOM結(jié)構(gòu)。

假設(shè)2、 同一層級的一組節(jié)點(diǎn),他們可以通過唯一的id進(jìn)行區(qū)分。

簡單的說, :key的作用主要是為了高效的更新虛擬DOM

總結(jié)

到此這篇關(guān)于Vue中splice()方法對數(shù)組進(jìn)行增刪改等操作實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Vue splice()對數(shù)組增刪改內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

沙洋县| 颍上县| 雅安市| 博爱县| 庆元县| 来宾市| 屏南县| 浏阳市| 五大连池市| 三明市| 信阳市| 千阳县| 大洼县| 株洲县| 资溪县| 东兰县| 江津市| 新兴县| 繁峙县| 克什克腾旗| 青川县| 安康市| 宁蒗| 威海市| 清水县| 基隆市| 故城县| 延庆县| 沙田区| 密云县| 凤山县| 阿克苏市| 色达县| 上犹县| 西林县| 甘泉县| 娄底市| 正定县| 夏邑县| 巫溪县| 措勤县|