我有一個父v-for組件使用指令創建子組件:
<div class="planlist">
<ul id="planOl">
<PlanLego
v-for="action in store.plan"
:v-if="action !== activeStep"
:action_id="action.act_id"
:actor="action.actor"
:blocked="action.blocked"
:key="action.act_id"
@choose="planClick"
@fix="changeActor"
/>
</ul>
</div>
我從子組件發出信號:
this.$emit('fix', {
act_id: this.action_id,
actor: this.actor
});
我的問題是:
actor我如何訪問和更改發出信號的這個特定子組件的屬性(例如)?提前致謝。
uj5u.com熱心網友回復:
據我了解,您想actor根據從子組件傳遞的資訊更新父組件中特定子組件的act_id。如果是,您可以通過迭代父級中的原始陣列物件來實作。
在父組件中,你的changeActor方法應該是這樣的:
在模板中:
@fix="changeActor($event)"
在腳本中:
changeActor(emittedObj) {
store.plan.forEach(item => {
if (item.act_id === emittedObj.act_id) {
item.actor = emittedObj.actor
}
});
}
uj5u.com熱心網友回復:
你changeActor在父組件中的方法應該是這樣的
changeActor({ act_id, actor}){
.....
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/533661.html
標籤:vue.jsvue组件vue.js3发布-订阅vue-事件
下一篇:頁腳不粘在底部引導程式5.2.2
