Vue.js的列表數據的同步更新方法


這次給大家帶來Vue.js的列表數據的同步更新方法,Vue.js列表數據同步更新方法的注意事項有哪些,下面就是實戰案例,一起來看一下。

 

數組的 push(),pop(),shift(),unshift(),splice(),sort(),reverse()等都會觸發列表的更新;
filter(),concat(),slice()等不會觸發列表的更新!

下面兩種情形也不會觸發列表數據更新

1.為數組的某一項賦值 vm.items[indexOfItem] = newValue,
2.改變數組的長度 vm.items.length = newLength也不會觸發列表的更新!

要實現的效果:

1.gif

列表數據的更新

代碼:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<template>
   <div id= "myapp" >
     <ul>
       <li v- for = "item in list" >
         {{item.name + '-' + item.price}}      </li>
     </ul>
     <button v-on:click= "addItem" >addItem</button>
   </div></template><script>
   export default {    data: function () {      return {        list: [
           {            name: 'apple' ,            price: 34
           },
           {            name: 'banana' ,            price: 56
           }
         ]
       }
     },    methods: {      //點擊按鈕新增push觸發列表數據的更新
       addItem () {        this.list.push({          name: 'pinaapple' ,          price: 256
         })
       }
     }
   }</script>

為數組的某一項賦值 vm.items[indexOfItem] = newValue不會觸發列表數據的更新,那么怎么才能讓他更新數據呢? 用Vue的set()方法可以辦到.

1
2
3
4
5
6
7
8
methods: {
    addItem () { //      把數組的第 1 個替換成新的值
      Vue.set(this.list, 1, {
        name: 'pinaapple' ,
        price: 256
      })
    }
  }

效果圖:

2.gif

使用Vue.js有哪些注意事項

文章來源:http://www.php.cn/js-tutorial-388258.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM