Actuellement, j'ai un View dans mon modèle d'application qui envoie un événement à ApplicationController. Je préférerais simplement l'envoyer à l'autre contrôleur, PlaylistController, directement à partir de la vue, mais je n'arrive pas à comprendre comment.Envoi d'une action d'affichage à un contrôleur spécifique
Ceci est mon ApplicationController actuelle
App.ApplicationController = Ember.ArrayController.extend({
needs:['playlist'],
changeSong: function(delta) {
this.get('controllers.playlist').send('changeSong', delta);
}
});
Et voici la vue, ce qui est dans le modèle d'application:
App.NextSong = Ember.View.extend({
classNames: ['entypo', 'to-end'],
tagName: 'a',
click: function() {
this.get('controller').send('changeSong', 1);
}
});
Dans ce cas précis, pouvez-vous simplement utiliser 'click'? Vous devez définir votre autre contrôleur sous la propriété 'needs' de tout contrôleur qui est en charge du modèle. – mehulkar
c'est la majeure partie de la bataille. Question complémentaire, y a-t-il un moyen de passer des paramètres à l'action? Je pourrais certainement écrire juste une prochaine, méthode prev qui passe -1, 1 à une méthode changeSong, mais ce serait bien de passer -1, ou 1 à changerSong, en sautant ces deux autres méthodes mentionnées – paulruescher
hmm, je ne suis pas Assurez-vous de transmettre des valeurs 'number', mais vous pouvez passer des objets en tant que contexte. ' mehulkar