5

Handlebars でカスタム ブロック ヘルパーを定義するにはどうすればよいですか (Ember.js で使用するため)? ハンドルバーのサイトに記載されている方法を試してみましたが、うまくいかないようです。Ember.js からこのエラーが発生します。

Assertion failed: registerBoundHelper-generated helpers do not support use with Handlebars blocks. 

これが私のヘルパーのコードです。アイデアは、渡したモデルが同じ場合にのみブロックがレンダリングされるということです:

Ember.Handlebars.helper 'sameModel', (model1, model2, options) ->
    if model1 is model2
        new Handlebars.SafeString(options.fn(this))
    else
        ''
4

2 に答える 2

3

主張は正しい。少なくともRC6以前では、それはできません。

で を作成viewし、templateそれにいくつかのプロパティをバインドすることができます。

some.hbs

{{#if model1}}
    This is model1 {{model1.name}}
{{/if}}

{{#if model2}}
    This is model2 {{model2.name}}
{{/if}}

ビュー/some.js

App.SomeView = Ember.View.Extend({
    templateName: "some"
})

別のテンプレート

<h3>{{view App.SomeView model1Binding=someModel1 model2Binding=someModel2}}</h3>
于 2013-07-25T02:42:29.147 に答える