2014-06-17 12 views
6

il comportamento che voglio è quando si cambia il prescelto è quello di salvare è modellocome sparare evento di modifica su alcuni emberjs

ho pensato di usare osservabile, ma ho un altro problema

mio punto di vista sembra qualcosa di simile questo

{{#each item in model.Items}} 
<div class="select"> 
    {{view Ember.Select 
    content=typesLookup 
    selection=type 
    prompt="Select Type" 
    }} 
</div> 
{{/each}} 

quindi se sono andato con la soluzione osservabili, quello che voglio è quello di conoscere anche l'elemento specifico che ha cambiato di aggiornarlo

risposta

7

add l'osservatore e la selezione su un oggettoController.

App.FooController = Em.ObjectController.extend({ 
    type:undefined, 
    watchType: function(){ 
    console.log('this model changed', this.get('model')); 
    }.observes('type') 
}); 

{{#each item in model.Items itemController='foo'}} 
    <div class="select"> 
    {{view Ember.Select 
     content=typesLookup 
     selection=item.type 
     prompt="Select Type" 
    }} 
    </div> 
{{/each}} 
+0

È possibile salvare senza un osservatore nel controller? Potresti avere un'azione nel file js della vista che salva il tipo di record "onChange" o qualcosa del genere? –

+0

Certo, sebbene entrambe le viste e i controller siano deprecati in Ember 2.0, in sostanza verranno uniti in un unico posto chiamato componente. Ma dalla vista è possibile accedere al controller, che ha accesso al modello, dove è possibile salvarlo. – Kingpin2k

Problemi correlati