单击时重新绑定href标记

时间:2016-08-16 19:35:16

标签: javascript ember.js handlebars.js

我是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}}已更改。

谢谢

1 个答案:

答案 0 :(得分:1)

如果this.model.foo是一个ember对象,则可以观察到它。因此,您可以将其添加为.property()调用的依赖项:

}.property('fooMeasureId', 'model.foo.options')

但请务必使用Ember .set()进行修改,而不是使用简单的作业(=)进行修改。

如果它不是Ember.Object,您必须在fooUri计算属性上手动调用notifyPropertyChange