2017-06-15 94 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