我有一个资源路径(问题),其中包含两条常规路线(比如工作和结果)。所以在我的结果路线中,我想要一个按钮/链接到下一个资源链接。例如,在domain.de/question/4/RESULT
上会出现一个链接到domain.de/question/5/WORK
的链接。
所以在我的结果模板中,我写了一个像{{#link-to 'question.work' getNextQuestionID}}
这样的帮助器,它使用结果控制器中的方法,看起来像那样
getNextQuestionID: function() {
return (parseInt(this.model.get("id")) + 1);
}.property()
这是有效的(因为模型是“父” - 问题 - 模型)。想法是:这只能工作一次!我认为它是因为index.html一次性加载了所有模板,并且恰好填充了该函数的结果一次。因此,当在模板“work”和“result”之间切换时,不会重新加载该问题,并且值始终为2(从问题1开始时)。
如何实现逻辑,不仅在加载模板时,每次“调用”都可以重复使用?
答案 0 :(得分:1)
似乎当控制器的模型更改您的计算属性时,不会观察它并且不会重新计算其值。这应该有效:
getNextQuestionID: function() {
return (parseInt(this.model.get("id")) + 1);
}.property('model')