1

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')
});
4

0 に答える 0