从已加载的控制器获取新值

时间:2015-01-26 15:15:48

标签: javascript ember.js

我有一个资源路径(问题),其中包含两条常规路线(比如工作和结果)。所以在我的结果路线中,我想要一个按钮/链接到下一个资源链接。例如,在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开始时)。

如何实现逻辑,不仅在加载模板时,每次“调用”都可以重复使用?

1 个答案:

答案 0 :(得分:1)

似乎当控制器的模型更改您的计算属性时,不会观察它并且不会重新计算其值。这应该有效:

getNextQuestionID: function() {
  return (parseInt(this.model.get("id")) + 1);
}.property('model')