Domanda

Sto cercando di produrre un input selezionato e passare l'oggetto selezionato all'evento di modifica nella vista. L'esempio dei contatti Ember utilizza un file <ul> Ma con una selezione la vista deve essere al di fuori di ciascuno altrimenti la modifica non è anche sparata.

Ecco la vista 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]);
    }
});

Il ul Dall'esempio funziona:

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

Ma se sostituisco direttamente HTML, l'evento di modifica non viene licenziato (il che ha senso)

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

Quindi immagino che la selezione debba essere avvolta nella vista .. nel qual caso come posso passare l'oggetto pertinente? ... Questo codice si traduce nell'intero array che viene superato:

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

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top