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

如何解決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è)
国产三级精品电影久久| 午夜免费福利视频一区| 日本久久久精品福利视频| 日本加勒比不卡在线视频| 国产精品一区二区三区乱色| 黑丝美女国产精品久久久| 国产青草视频免观看视频| 日韩视频在线不卡观看| 日本九州不卡久久精品一区| 久久亚洲精品中文字幕一| 蜜桃国产精品视频网站| 午夜福利成人在线免费观看| 一区二区三区不卡中文字幕| 国产成人精品无人区一区| 国产亚洲综合一区二区三区| 国产高清成人小视频在线| 日本午夜诱惑在线观看| 日本不卡一区二区视频| 日韩av在线黄色免费大全| 国产精品久久99一区| 国产区av中文字幕在线观看| 91亚洲熟妇国产熟妇肥婆| 亚洲黄色av网址在线观看| 亚洲精品紧身裙女教师av| 亚洲国产欧美日韩在线| av大全网站免费一区二区| 欧美日韩亚洲国产三级| 色国产精品一区在线观看| 日本中文字幕激情在线| 亚洲福利一区二区三区| 亚洲福利一区二区在线| 国产一区二区黄色在线| 婷婷国产成人久久精品激情| av真人青青小草一区二区欧美| 草草在线成年免费视频| 四虎海外永久免费地址| 亚洲黄色成人在线观看| 日韩黄色成人在线观看| 国产精品一区在线播放| 亚洲国产第一尤物视频| 人妻操人人妻中出av|