Question

J'essaie de produire une entrée sélectionnée et de passer l'objet sélectionné à l'événement de modification de la vue. L'exemple de contact Ember utilise un <ul> Mais avec une sélection, la vue doit être en dehors de chacune, sinon le changement n'est même pas licencié.

Voici la vue 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]);
    }
});

La ul De l'exemple fonctionne:

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

Mais si je remplace directement HTML, l'événement de changement n'est pas licencié (ce qui a du sens)

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

Je suppose donc que la sélection doit être enveloppée dans la vue.

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

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top