ember.js で、境界付きヘルパーを別のヘルパーから呼び出すにはどうすればよいですか?
次のハンドルバー テンプレートを使用できるようにしたいです。これはどういうわけか可能ですか?
{{#each row in content}}
<tr>
{{#each column in columns}}
<td>{{object _view row column}}</td>
{{/each}}
</tr>
{{/each}}
私はこのようなことを試しました:
Ember.Handlebars.registerBoundHelper('property', function (object, property) {
if(property && property.name) {
return Ember.get(object, property.name);
}
return null;
});
Ember.Handlebars.registerBoundHelper('object', function (view, object, property) {
if (property && property.name) {
if (property.formatter) {
return property.formatter.call(property.name, {
data: {
view: view,
},
types: ["ID"],
hash: {},
object: object,
property: property,
});
}
return Ember.get(object, property.name);
}
return null;
});
プロパティは次のように定義されます。
Ember.Object.create({
name: "message",
title: "Message",
formatter: Ember.Handlebars.helpers.property
});
オブジェクトは次のインスタンスです:
App.Log = DS.Model.extend({
module: DS.attr('string'),
message: DS.attr('string'),
user: DS.belongsTo('App.User')
});