日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

vue数组操作不更新视图问题

發布時間:2023/12/13 vue 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue数组操作不更新视图问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

vue 觀察數組的變異方法 更新視圖

push()

pop()

shift()

unshift()

splice(i,n,arr)

sort(xx)

reverse()

ex: app.book.push({

  name:'css',

  author:'lee'

})

有些方法不會改變數組

filter()

concat()

slice()

返回新數組? 需要用 新返回的數組 更新原數組

app.books= app.books.filter(functiion(item){

? ? ?return item.name.match(/javascript/)

})

vue 不能檢測到數組變化 不能觸發視圖更新:

1 通過直接搜影 更改變量?

? ? ex app.book[3] = 'xxxx';

2 修改數組的長度

? app.books.length =1;

解決這個問題 倆種方法

1 vue 內置的set方法 類 splice

  Vue.set(app.books,3,{

    name:'qqq',

    author:'qjb'

  })

2 webpack 沒有引入Vue 用 $set

?this.$set(app.books,3,{

  name:'css',

  author:'qjb'

})

this指向組建的實例 既 app ,可以使用app.$set()

3? 使用 splice

?appp.book.splice(3,1,{

  name:'css',

  author:'qjb'

})

splice(索引,刪除的數量(0不刪除),插入的變量arr1,arr2,arr3)

更改索引

?app.books.splice(1);

?

、、、、過濾與排序。。。。。。。

不改變原數組?

?computed:{

  filterBooks:function(){

    return this.books.filter(function(book){

      return book.name.match(/javascript/)

    })

  }

}

sort()來排序

?

、、、、、、、、、、、、、、、、、、、、、、

?

轉載于:https://www.cnblogs.com/dabingqi/p/9180628.html

總結

以上是生活随笔為你收集整理的vue数组操作不更新视图问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。