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

如何解決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网站大全网站| 国产精品九九久久精品女同| 亚洲精品日韩国产3区| 91色综合久久久久婷婷| 国产高清av免费在线播放| 亚洲视频一区视频二区| 日本免费一区中文字幕| 亚洲一区二区三区免费在线看| 成人av在线播放亚洲| 国产乱码精品一区二区蜜臀| 一卡二卡精品在线免费| 日本精品视频免费网| 亚洲精品主播一区二区三区| 丰满人妻毛片一区二区三区| 人妻人人澡人人添人人爽桃色| 亚洲国产日韩欧美视频| 97人妻人人澡人人爽| 欧美日韩三级国产在线| 亚洲中文有码在线播放| 国产一区二区不卡在线播放 | 精品久久久久久久久无| 在线精品91国产在线观看| 国产福利在线观看午夜| 久久精品有码视频免费观看| 色婷婷av一二三区竹菊| 久久香蕉国产线看观看亚洲| 在线中文字幕日韩有码| 亚洲一区二区三区精品国产| 久久精品中文字幕人妻| 日日嗨av特一级黄淫片| 白嫩少妇情久久密月久久| 日韩专区亚洲专区欧美专区| 亚洲国产精品一区二区电影| 国产乱肥老妇国产一区二| 欧美日韩一级特黄大片| 天天操天天干夜夜骑| 国产精品久久久99| 日本一级特黄大片做受在线观看 |