2

シンプルなネストされたビューを作成しようとしています。「子」ビューは Ember.Select です。「選択」パラメーターは親から取得する必要があり、機能させることができません。どうやってこれを行うのですか?

<script type="text/x-handlebars" data-template-name="application">
    {{view App.SelectView contentBindingForSelect="App.names"}}
</script>

<script type="text/x-handlebars" data-template-name="select-view">
    <h1>In SelectView</h1>
    {{view view.childSelectView contentBinding="view.contentBindingForSelect"}}
</script>


window.App = Ember.Application.create();

App.names = ["Yehuda", "Tom"];

App.ApplicationView = Ember.View.extend({
    templateName: 'application',
});

App.SelectView = Ember.View.extend({
    templateName: 'select-view',  
    childSelectView: Ember.Select
});

JSFiddle の例: http://jsfiddle.net/kRwcU/1/

4

2 に答える 2

1

問題が見つかりました...名前が機能しないため、Emberの「規則」のこの部分を見逃しました:「contentBindingForSelect」。「Binding」という単語は最後に付ける必要があります。たとえば、「contentForSelectBinding」です。JSFiddle を修正しました。今はうまくいきます。

http://jsfiddle.net/kRwcU/4/

<script type="text/x-handlebars" data-template-name="application">
    <h1>Hello from Ember.js</h1>
    {{view App.SelectView contentForSelectBinding="App.names"}}
</script>

<script type="text/x-handlebars" data-template-name="select-view">
    <h1>In SelectView</h1>
    {{view view.childSelectView contentBinding="view.contentForSelect"}}
</script>
于 2013-02-18T15:11:00.813 に答える
0

ember.jsで使用を開始したばかりですが、現在空のselect要素を調べると、emberが実際にビューhtmlをselectタグ内にレンダリングしていることがわかります。これは明らかにジャンクHTMLであるため、正しくレンダリングされません。

正解は、必要な機能を実現するためにember.selectをこのように拡張したくないということだと思います。

于 2013-02-18T14:51:57.817 に答える