アイテムを含むアプリケーションがあります。アイテムの値のリストにチェックボックスを表示したいと思います。
これを行うには、チェックボックスを使用します。
App.DisplayedValueCheckbox = Em.Checkbox.extend({
itemValuesBinding: 'parentView.item.values',
checked: function () {
return true; //Default value is always true
}.property('content', 'itemValues.@each'),
click: function (evt) {
//update graph
}
});
そして、それをコレクションビューに表示してみてください:
App.DisplayedValuesView = Em.CollectionView.extend({
contentBinding: 'App.Item.values'
,itemBinding: 'App.Item'
, tagName: 'ul'
, itemViewClass: Em.View.extend({
itemBinding: 'parentView.item'
, templatename: 'displayed-values'
})
});
これは親ビューの一部です:
<script type="text/x-handlebars" id="item">
<h1>{{name}}</h1>
<hr><p>{{desc}}</p>
<div>
<div>
{{#each item in values}}
<li>{{item}}</li>
{{/each}}
</div>
<div>{{view App.DisplayedValuesView}}</div>
</div>
</script>
しかし、ビューにはチェックボックスが表示されず、エラーが発生します:
Unable to find view at path 'App.DisplayedValuesView'
編集: @ sly7_7の回答により、このエラーは修正されました
これがこの問題のjsFiddleです
私は何かが恋しいことを知っていますが、何ですか?
バインディングに何か (どのように機能するかわかりません) ?
特定の Route() を書くべきApp.ItemRoute = ...
ですか?
チェックボックスビューを定義していますか? テンプレート?