我是Ember的新手,我从事大型遗产项目。问题是以下模板中的URI fooUri
仅绑定一次且<a {{bind-attr href=fooUri}}>
<span class="appicon-table appicon"></span>
</a>
保持不变:
App.barController = Ember.ObjectController.extend({
. . .
fooUri: function() {
var fooOptions = $.extend({}, this.model.foo.options);
. . .
var querystring = encodeURIComponent($.param(fooOptions));
var uri = '#' + router.generate( ..., querystring, ...);
return uri;
}.property('fooMeasureId'),
. . .
})
控制器代码:
this.model.foo.options
E.g。我需要每次点击链接时重新计算uri,因为{{1}}已更改。
谢谢
答案 0 :(得分:1)
如果this.model.foo
是一个ember对象,则可以观察到它。因此,您可以将其添加为.property()
调用的依赖项:
}.property('fooMeasureId', 'model.foo.options')
但请务必使用Ember .set()
进行修改,而不是使用简单的作业(=
)进行修改。
如果它不是Ember.Object,您必须在fooUri
计算属性上手动调用notifyPropertyChange
。