在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ Vue使用v-for動態(tài)增加減少的組件,數(shù)組中插入(splice)一個對象后,組

Vue使用v-for動態(tài)增加減少的組件,數(shù)組中插入(splice)一個對象后,組件中的data都沒有刷新怎么辦?

上類似代碼

// 父組件
<template>
    <childComponents v-for="item in items" :items="items" ref="childs"></childComponents>
    <button @click="addCom"></button>
</template>
<script>
    export default {
        data() {
            return {
                items: [{},{}]
            }
        },
        methods: {
            addCom() {
                this.items.splice(1,0,{})
                this.$nextTick(()=>{
                    this.$refs.childs.forEach((v)=>{
                        console.log(v.something)
                        // first, second, second
                    })
                })
            }
        }
    }
</script>

// 子組件
<template>
    <input v-model="something"></input>
</template>
<script>
    export default {
        data() {
            return {
                something: x //假設(shè)第一個輸入了first,第二個輸入了second,新增的第三個應(yīng)該是默認(rèn)的x
            }
        }
    }
</script>

在第一二個子組件輸入框輸入完,點擊button后,確實會在第二行增加一個子組件,但是子組件中的data不對,按照正確的格式,此時的子組件data的something應(yīng)該依次是first,x,second,可是實際情況卻是first,second,second,這種情況我該怎么辦。。謝謝各位了

回答
編輯回答
維他命

key綁定v-for對象本身會編譯報錯,我后來綁定了item._ob_.dep.id,就解決了所有問題

2018年5月25日 03:55
編輯回答
硬扛

沒復(fù)現(xiàn)出來這種情況啊。再說你加的是兩個{a:3, b:3}。
那么子組件拿到的props:['items']不應(yīng)該是 1,3,3,2

2017年11月22日 21:15