2016-06-14 58 views
1

我有一个对象,然后我有一个消费的对象,并返回对象的人机友好表示的装饰。EmberJS,助手用“为”块

例如:

object = { id: "XXX1", detail: "XXX2" } 
decoratedObject { title: "The Red Building", detail: "Has 101 stories" } 

我想使用Decorator在模板:

{{#decorator-helper object as |decoratedObject|}} 
    <h1>{{decoratedObject.title}}</h1> 
    <p>{{decoratedObject.detail}}</p> 
{{/decorator-helper}} 

我怎样才能做到这一点?

回答

3

您应该为此使用一个组件。如果你想使用块语法,你应该使用一个组件

{{my-component value=(my-helper val)}} 

一般来说,如果你想用它们来计算这样的其他值,你应该使用助手。

1

据我知道你不能与助手做到这一点。你为什么不在你的控制器或者基于对象的组件上定义一个名为decoratedObject的计算属性?

decoratedObject: Ember.computed('object', { 
    get() { 
     // Build your decorated object and return it 
     return decoratedObject; 
    } 
}) 

这将使您的装饰对象在您的模板中可用,并在对象更改时动态重建它。