欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue數(shù)據(jù)push后不能響應(yīng)式更新的問題

 更新時(shí)間:2024年03月11日 09:02:19   作者:長春小霸王  
這篇文章主要介紹了vue數(shù)據(jù)push后不能響應(yīng)式更新的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

vue數(shù)據(jù)push后不能響應(yīng)式更新

未新屬性先開辟空間

	if (res.data.length > 0) {
							// var goodesMap = new Map()
							var temp_goodsList = []
 
							var trandeProductList = res.data
							navItem.orderList.push({
								goodsList: []
							})
							for (var i = 0; i < navItem.orderList.length; i++) {
								for (var j = 0; j < trandeProductList.length; j++) {
									if (navItem.orderList[i].tradeNo == trandeProductList[j].trandeForm
										.tradeNo) {
										temp_goodsList.push(trandeProductList[j])
									}
								}
								navItem.orderList[i]["goodsList"] = temp_goodsList
 
								// Object.assign(navItem.orderList[i], goodesMap.get("goodsList"));
								// navItem.orderList[i].push(goodsList)
								temp_goodsList = []
								// goodesMap.clear()
							}
 
							// var s = that.navList[0].orderList[0].goodsList.length
							// for (var i = 0; i < navItem.orderList.length; i++)
							// {
							// 	for (var j = 0; j < navItem.orderList[i].goodsList.length; j++) {
							// 		console.log(navItem.orderList[i].goodsList[j].product.name)
							// 	}
 
							// }
						}

vue如何更新響應(yīng)式數(shù)組與對(duì)象的內(nèi)容

data: {
    // 1.基礎(chǔ)數(shù)據(jù)類型,字符串   :this.xxx 直接修改數(shù)據(jù)
    title:"vue",
    // 2.數(shù)組類型   :使用7個(gè)變異函數(shù)修改
    ingredients: ['meat', 'fruit', 'cookies'],
    // 2-2:數(shù)組內(nèi)容為對(duì)象   
    // ①:如果是更改對(duì)象里的某一元素則   this.persons[1].xxx
    // ②:如果是修改整個(gè)對(duì)象內(nèi)容 也是使用7個(gè)變異函數(shù)修改
    persons: [
       { name: 'Vane', age: 38, color: 'red' },
       { name: 'Fang', age: 27, color: 'blue' },
    ],
    // 3.對(duì)象類型
    // ①:如果修改原有響應(yīng)式數(shù)據(jù),則 userInfo.xxx修改
    // ②:如果是新增響應(yīng)式數(shù)據(jù),則 this.$set(this.userInfo,'xxx','x')
    userInfo:{
         name:"wangwu",
         age:19
    }
},

1-更新基礎(chǔ)數(shù)據(jù)類型(字符串)

this.title="vue2" 直接修改數(shù)據(jù)

2-更新數(shù)組類型

不可以使用this.xxx直接修改數(shù)據(jù)

使用7個(gè)變異函數(shù)修改 pop,push,shift,unshift,splice,sort,reverse,它們是已經(jīng)在vue當(dāng)中進(jìn)行了二次改造

this.ingredients[1]="soup" // 失敗

this.ingredients.splice(1,1,"soup") // 成功

2-2:數(shù)組內(nèi)容為對(duì)象

1.修改對(duì)象中的某一屬性:

this.persons[1].name="lisi"

2.用變異函數(shù)整體修改:

this.persons.splice(1,1,{name: 'zhangsan', age: 20, color: 'green'})

3.直接進(jìn)行數(shù)組元素的整體替換,是不行的

this.persons[1]={ name: 'zhangsan', age: 20, color: 'green' }

3-對(duì)象類型

1.如果修改原有響應(yīng)式數(shù)據(jù),則 userInfo.xxx修改

2.如果是新增響應(yīng)式數(shù)據(jù),則 this.$set(this.userInfo,'xxx','x')。

this.$set:第一個(gè)參數(shù)就是目標(biāo)對(duì)象,第二個(gè)參數(shù)是對(duì)象的屬性,第三個(gè)參數(shù)是對(duì)象的屬性值

注意:

  • this.userInfo.sex="男" 使用this.xxx直接增加的數(shù)據(jù),不是響應(yīng)式數(shù)據(jù),不會(huì)出現(xiàn)在vue調(diào)試工具里。
  • 他僅僅是普通的屬性節(jié)點(diǎn),并不是響應(yīng)式的屬性節(jié)點(diǎn)

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論