vue.js:手动触发绑定更新

时间:2017-06-15 14:06:01

标签: javascript data-binding 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)
}

2 个答案:

答案 0 :(得分:1)

您可以为更改时间创建全局事件总线调用此方法并监听此方法并更新答案 Vue.js global event bus

答案 1 :(得分:0)

getFittingAnswer方法从我的组件数据中返回一个对象时,我简化了模板:

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

直接使用此数据,数据将始终是最新的。