saurabhmasc
(Saurabh Khandelwal)
1
ハンドルバートンプレートで2つの値を比較したいのですが、{{#if}}ヘルパーではできません。Discourseで新しいヘルパーを作成するにはどうすればよいでしょうか?
以下のコードを試しましたが、動作しません:
作成したファイル: /assets/javascripts/discourse/helpers/eq.js.es6
import { registerHelper } from 'discourse-common/lib/helpers'
var makeBoundHelper = Ember.HTMLBars.makeBoundHelper;
registerHelper('eq', makeBoundHelper(function(params) {
return params[0] === params[1];
}));
例外が発生しました: makeBoundHelper is not a function
EmberJS の Computed Property を使ってください。
saurabhmasc
(Saurabh Khandelwal)
3
以下のような実装を目指しています:
2 つのループを使用します。
- productCategories : [“category1”, “category2”, …]
- productTags : [{productCategory:“category1”, tagName:“tag1”, isChecked:true}, …]
そして、コードに示されているように、productCategories の各項目と tag.productCategory を比較したいと考えています。
これは Computed プロパティで実現できますか?
<div class="tag-list-section">
{{#each this.productCategories as |category|}}
<div id={{category}} class="select-tag-category">
{{#each this.productTags as |tag|}}
{{#if (eq category tag.productCategory)}}
{{input type="checkbox" name=tag.tagName checked=tag.isChecked }} {{tag.tagName}}
{{/if}}
{{/each}}
</div>
{{/each}}
</div>