未绑定属性作为组件和视图的参数

时间:2014-03-26 21:57:09

标签: ember.js

我正在通过遵循this presentation中给出的一些提示来优化我的Ember应用程序。我想知道如何将未绑定的属性作为组件和视图的参数。例如

{{my-component arg=unboundProperty}}

我希望unboundProperty不被绑定,即它将第一个非空值(在路由中的模型已经解析后设置)作为值,但在其值更改时不会传播到组件。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

如果确实需要这样做,可以使用计算属性而不定义依赖关系。计算属性将在第一次请求时计算,然后它永远不会认为它需要更新,因此它永远不会更新。

App.FooController = Ember.ObjectController.extend({
  realProperty: 'fooBar',
  unboundProperty: function(){
    return this.get('realProperty');
  }.property()
});



{{my-component arg=unboundProperty}}

您可以在组件中执行相同的操作

App.MyComponentComponent = Ember.Component.extend({
  readOnceArg: function(){
    return this.get('arg');
  }.property()
})