2017-06-15 138 views
0

我有一個模板調用不同的組件:vue.js:觸發綁定更新手動

<question-container v-for="(question, index) in questions" :question="question" :answer="getFittingAnswer(question)"></question-container> 

如何從外部組件手動更新:answer?由於:answer是基於服務器和會話數據的動態數據,因此需要使用getFittingAnswer函數。

更新:這是getFittingAnswer組件方法。

getFittingAnswer(question) { 
    return this[`part${question.part}answers`].find(a => a.questionId == question.Id) 
} 
+0

getFittingAnswer在哪裏?它是來自父組件的方法嗎? – Cobaltway

+0

是的 - 它的工作原理非常好,但必須「重新觸發」。 – sandrooco

+0

我不確定我是否瞭解你的情況。你能提供一個更完整的代碼示例嗎? – Cobaltway

回答

0

隨着getFittingAnswer方法從我的組件數據返回一個對象我簡化模板:

<question-container v-for="(question, index) in questions" :question="question" :value="part1answers.find(a => a.questionId == question.Id)"></question-container> 

直接使用此數據將始終保持最新狀態。

1

您可以更改時間的呼叫建立全球性事件總線這種方法,聽此方法,並更新答案 Vue.js global event bus