質問

選択した入力を作成し、選択したオブジェクトをビューの変更イベントに渡そうとしています。エンバーの接触例はaを使用します <ul> しかし、選択した場合、ビューはそれぞれの外側にある必要があります。

これがjsのビューです:

App.SelectView = Ember.View.extend({

    change: function(e) {
        //event for select
        var content = this.get('content');
        console.log(content);   

        App.selectedWidgetController.set('content', [content]);
    },
    click: function(e) {
        //event for ul
        var content = this.get('content');
        console.log(content);   

        App.selectedWidgetController.set('content', [content]);
    }
});

ul 例から動作します:

<ul>
    {{#each App.widgetController.content}}
        {{#view App.SelectView contentBinding="this"}}
            <li>{{content.name}}</li>
        {{/view}}
    {{/each}}
</ul>

しかし、HTMLを直接置き換えると、変更イベントが起動されません(これは理にかなっています)

<select>
    {{#each App.widgetController.content}}
        {{#view App.SelectView contentBinding="this"}}
            <option>{{content.name}}</option>
        {{/view}}
    {{/each}}
</select>

したがって、Selectをビューに巻き付ける必要があると思います。どのような場合に関連するオブジェクトを渡すにはどうすればよいですか?...このコードは、配列全体が渡されることになります。

{{#view App.select_view contentBinding="App.widgetController.content"}}
    <select>
    {{#each App.widgetController.content}}
        <option>{{name}}</option>
    {{/each}}
    </select>
{{/view}}

正しい解決策はありません

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top