私は、emberのregisterBoundHelperがブロックスタイルのヘルパーを扱えるようになったのかと疑問に思っています。例えば、私は次のように作成しました:Emberのブロックされたブロックヘルパー
Ember.Handlebars.registerBoundHelper('unlessUndefined', (context, options) ->
unless typeof context == "undefined"
return options.fn(this)
else
return options.inverse(this)
)
アイデアのようなそれを使用すること:
{{#unlessUndefined choice}}
{{#if choice}}
<p>You chose yes</p>
{{else}}
<p>You chose no</p>
{{/if}}
{{else}}
<p>Make a choice</p>
{{/unlessUndefined}}
option.fn(この)物事の部分は任意の出力をレンダリングするためには表示されません。これを行うと、コンソールに「レンダリングプロセスの外でappendChildを使用することはできません」エラーが表示されます。
これが可能でない場合は、おそらく誰かが別の方法で条件ブロックをバインドされた値が未定義でない場合のみ表示されますか?
こんにちはPaul。この情報を投稿していただきありがとうございます。私は現時点でEmberのマスターバージョンを実行しているので、あなたのソリューションを実践することができませんでした。しかし、再レンダリングされていない元のビューについてはあなたが正しいと思います。 変更を加えれば、関数内でレンダリングを行うときに言及した行を追加するのと同じくらい簡単ではなく、その関数のコンテキストは元のビューにアクセスできません。 動作を絞り込むことができたら、これでバグを開く価値があります。 –
はまだ問題がありますか? –
が見つかりませんでした。開いているもの:https://github.com/emberjs/ember.js/issues/2237 –