欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何解決vue數(shù)組中對象屬性變化頁面不渲染的問題

這篇文章主要介紹了如何解決vue數(shù)組中對象屬性變化頁面不渲染的問題,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)為企業(yè)級客戶提高一站式互聯(lián)網(wǎng)+設(shè)計服務(wù),主要包括成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、app軟件開發(fā)公司重慶小程序開發(fā)公司、宣傳片制作、LOGO設(shè)計等,幫助客戶快速提升營銷能力和企業(yè)形象,創(chuàng)新互聯(lián)各部門都有經(jīng)驗豐富的經(jīng)驗,可以確保每一個作品的質(zhì)量和創(chuàng)作周期,同時每年都有很多新員工加入,為我們帶來大量新的創(chuàng)意。 

做checkbox多選功能的時候遇到了一個坑,邏輯怎么看都對,但是就是有bug,最后發(fā)現(xiàn)數(shù)組那里值變了頁面勾選沒有重新渲染。

換了關(guān)鍵詞搜索找到了相關(guān)方法。

其實之前讀文檔教程的時候看到過這里,但是只有真的使用之后才會有最直接的感觸。

數(shù)組更新檢測

變異方法

Vue 包含一組觀察數(shù)組的變異方法,所以它們也將會觸發(fā)視圖更新。這些方法如下:

push()
pop()
shift()
unshift()
splice()
sort()
reverse()

你打開控制臺,然后用前面例子的 items 數(shù)組調(diào)用變異方法:example1.items.push({ message: 'Baz' }) 。

替換數(shù)組

變異方法 (mutation method),顧名思義,會改變被這些方法調(diào)用的原始數(shù)組。相比之下,也有非變異 (non-mutating method) 方法,例如:filter(), concat() 和 slice() 。這些不會改變原始數(shù)組,但總是返回一個新數(shù)組。當使用非變異方法時,可以用新數(shù)組替換舊數(shù)組:

example1.items = example1.items.filter(function (item) {
return item.message.match(/Foo/)
})

你可能認為這將導致 Vue 丟棄現(xiàn)有 DOM 并重新渲染整個列表。幸運的是,事實并非如此。Vue 為了使得 DOM 元素得到最大范圍的重用而實現(xiàn)了一些智能的、啟發(fā)式的方法,所以用一個含有相同元素的數(shù)組去替換原來的數(shù)組是非常高效的操作。

注意事項

由于 JavaScript 的限制,Vue 不能檢測以下變動的數(shù)組:

當你利用索引直接設(shè)置一個項時,例如:vm.items[indexOfItem] = newValue

當你修改數(shù)組的長度時,例如:vm.items.length = newLength

為了解決第一類問題,以下兩種方式都可以實現(xiàn)和 vm.items[indexOfItem] = newValue 相同的效果,同時也將觸發(fā)狀態(tài)更新:

// Vue.set
Vue.set(example1.items, indexOfItem, newValue)
// Array.prototype.splice
example1.items.splice(indexOfItem, 1, newValue)

為了解決第二類問題,你可以使用 splice:

example1.items.splice(newLength)

對象更改檢測注意事項

還是由于 JavaScript 的限制,Vue 不能檢測對象屬性的添加或刪除:

var vm = new Vue({
data: {
a: 1
}
})
// `vm.a` 現(xiàn)在是響應(yīng)式的
 
vm.b = 2
// `vm.b` 不是響應(yīng)式的

對于已經(jīng)創(chuàng)建的實例,Vue 不能動態(tài)添加根級別的響應(yīng)式屬性。但是,可以使用 Vue.set(object, key, value) 方法向嵌套對象添加響應(yīng)式屬性。例如,對于:

var vm = new Vue({
data: {
userProfile: {
name: 'Anika'
}
}
})

你可以添加一個新的 age 屬性到嵌套的 userProfile 對象:

Vue.set(vm.userProfile, 'age', 27)

你還可以使用 vm.$set 實例方法,它只是全局 Vue.set 的別名:

this.$set(this.userProfile, 'age', 27)

有時你可能需要為已有對象賦予多個新屬性,比如使用 Object.assign() 或 _.extend()。在這種情況下,你應(yīng)該用兩個對象的屬性創(chuàng)建一個新的對象。所以,如果你想添加新的響應(yīng)式屬性,不要像這樣:

Object.assign(this.userProfile, {
age: 27,
favoriteColor: 'Vue Green'
})

你應(yīng)該這樣做:

this.userProfile = Object.assign({}, this.userProfile, {
age: 27,
favoriteColor: 'Vue Green'
})

感謝你能夠認真閱讀完這篇文章,希望小編分享的“如何解決vue數(shù)組中對象屬性變化頁面不渲染的問題”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!

網(wǎng)頁題目:如何解決vue數(shù)組中對象屬性變化頁面不渲染的問題
URL鏈接:http://aaarwkj.com/article48/gpjjep.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗、網(wǎng)站策劃、微信小程序電子商務(wù)、搜索引擎優(yōu)化、網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)
一级片一区二区中文字幕| 日韩中字在线一区二区| 色婷婷狠狠久久综合中文一本| 日韩欧美国产精品一区二区| 国产剧免费看视频网站成人| 日韩亚洲欧美成人一区| 在线视频日韩欧美国产二区| 国产精品成久久久久三级| 欧美亚洲成人免费电影| 麻豆精品国产一区二区91| 国产精品一区二区三区激情 | 天天操夜夜操白天操晚上操| 国产精品黑丝美女91| 国产成人+亚洲欧洲综合| 国产亚洲欧美日韩看国产| 欧美日韩一区二区三区四区高清视频| 国产午夜在线观看免费视频| 亚洲av优选在线观看精品| 人人狠狠综合久久亚洲| 韩日av一区二区三区| 亚洲天堂av现在观看| 亚洲av一区二区三区网站| 欧美日韩男女性生活视频| 99精品国产综合久久麻豆| 亚洲av日韩精品久久久| 五月婷婷六月丁香伊人网| 在线欧美亚洲观看天堂| 日韩av一区三区在线| 亚洲午夜精品久久久天堂| 日本精品一区二区三区免费| 亚洲av偷拍一区二区三区不卡| 成年人三级黄色片视频| 精品妇女一区二区三区| 九九在线视频免费观看精彩| 素人人妻一区二区三区| 欧美亚洲国产精品久久久| 久久精品国产一区二区三区不卡| 人成午夜视频在线播放| 亚洲精品中文字幕乱码| 日进去了啊内射视频| av国产一区二区在线|