色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

在vue中對數組值變化的監聽與重新響應渲染操作

瀏覽:2日期:2023-01-06 14:54:04

在我們項目開發過程中,實例中的數據類型可以是對象、數組等。在對象中,某個屬性值發生更改時,我們可以通過對象的深度監聽,以達到重新渲染頁面的需求?;蛘卟殚嗊@篇文章

例如:

<script> export default { data(){ return { objVal: { name: ’obj’, type: ’obj’ } } }, watch:{ objVal:{ handler(val,oldval){ }, deep: true, } }, methods:{ changeObj(){ this.objVal.name = ’newobj’; } } }</script>

但是,在使用同一種方式進行數組值更改監聽時,這種做法是無效的。

<script>export default { data() { return { arrList: [1,2,3,4,5] }; }, watch: { arrList: { handler(val, oldval) { }, deep: true } }, methods: { changeArr() { // 無效 this.arrList[0] = 10; } }};</script>

上述用以監聽數組值變化的方法是無效的,vue是不會響應數據變化而重新去渲染頁面。在vue中僅需要通過修改賦值語句的方式,即可讓vue響應數組數據的變化。具體操作如下:

使用方法:

// Vue.setVue.set(vm.items, indexOfItem, newValue)// Array.prototype.splicevm.items.splice(indexOfItem, 1, newValue)

具體使用案例:

<script>export default { data() { return { arrList: [1,2,3,4,5] }; }, methods: { changeArr() { // this.arrList[0] = 10; // 修改為: this.arrList.splice(0, 1, 10); } }};</script>

或:

<script>export default { data() { return { arrList: [1,2,3,4,5] }; }, methods: { changeArr() { // this.arrList[0] = 10; // 修改為: this.$set(this.arrList, 0, 10); } }};</script>

以上兩種方式,均可達到監聽數組值變化的效果。

補充知識:vue數組操作不觸發前端重新渲染

暫時使用給數組先賦值 [ ] ,然后重新賦值的方式解決。

此外,能夠監聽的數組變異方法

https://cn.vuejs.org/v2/guide/list.html#%E5%8F%98%E5%BC%82%E6%96%B9%E6%B3%95

還有就是set

標簽: Vue
相關文章:
主站蜘蛛池模板: 欧美人在线一区二区三区 | 亚洲一区 欧美 | 婷婷丁香花麻豆 | 成年人在线视频免费观看 | 草草国产成人免费视频 | 二区三区在线观看 | 玖玖精品视频在线观看 | 亚洲美女视频 | 黄色三级理论片 | 特黄特a级特别特级特毛片 特黄特黄 | 99视频网站 | 国产精品资源手机在线播放 | 午夜宅男在线永久免费观看网 | 亚洲综合网在线观看首页 | 中文字幕在线视频网 | 欧美日韩中文字幕在线视频 | 一级做性色a爰片久久毛片 一级做性色a爰片久久毛片免费 | 精品国产免费第一区二区 | 欧美在线高清视频播放免费 | 五月色一区二区亚洲小说 | 亚洲一区二区三区四区 | 久久国产欧美日韩精品免费 | 伊人黄网 | 一区二区三区在线免费看 | 性生活免费视频网站 | 5388国产亚洲欧美在线观看 | 国产a一级毛片含羞草传媒 国产a自拍 | 在线播放免费一级毛片欧美 | 久久精品视频免费观看 | 日日摸人人拍人人澡 | 狠狠澡夜夜澡人人爽 | 国产一区二区在免费观看 | 欧美日一区 | 一区二区三区四区免费视频 | 国产成人一区免费观看 | 久久免费毛片 | 老司机午夜性生免费福利 | 国内在线精品 | 国产大陆精品另类xxxx | 美女一丝不佳一级毛片香蕉 | 国产精品亚洲第一区柳州莫青 |