Mentre la soluzione è semplice, mi permetta di provare e spiegarlo. Non esitate a fare domande se non siete sicuri.
Sei collegato a una proprietà su un'istanza di App.indexController
. Tuttavia, questa istanza non esiste, poiché Ember.JS non colloca più direttamente l'istanza dei controller su App
.
ha usato per risiedere su App
nelle versioni precedenti di Ember, ma non più, perché è cattiva pratica per fare riferimento a un controller utilizzando il suo nome in assoluto, in quanto crea tight coupling tra i controller.
Ecco perché Ember.JS hanno altri modi per fare riferimento ai controllori. È un requisito comune richiedere altri controller nel controller corrente. Ember.JS hanno i seguenti metodi:
Pertanto, se implementiamo l'needs
, quindi il controller ha ora accesso all'altro controller, nonché alle proprietà che possiede: http://jsfiddle.net/uB5tX/7/
Utilizzando lo needs
, abbiamo agganciato i controller senza stringere. L'abbiamo fatto riferimento per nome e Ember.JS cercherà il controller per noi. Se cambiamo App
allora non avremo bisogno di cambiare nulla, e se/quando Ember.JS modifica il comportamento dei controllori, che non dovrebbe aver bisogno di aggiornare la nostra needs
di nuovo, perché quando i cambiamenti di comportamento, allora l'needs
potranno anche aggiornare , riportando il controller corretto.
grazie mille !. Quindi se non puoi fare App.someController, come funziona ora nei template con #each, come: ** {{# ogni App.someController}} **? –
Non è necessario specificare la parte 'Controller', se si utilizza l'approccio' needs'. Se 'IndexController'' ha bisogno di '' AnotherController' allora in 'IndexController' lo si farà semplicemente riferimento come:' controllers.another'. Lo stesso vale per le visualizzazioni: '#each controllers.another'. – Wildhoney
ok. Un'ultima situazione. Che ne dici di un controller Array, come faresti a scorrere questo. In [questo] (http://jsfiddle.net/ud3323/4ysxQ/) violino fanno ancora il vecchio, e non riesco a farlo funzionare in [questo] (http://jsfiddle.net/jeanluca/ uB5tX/9 /) fiddle –