Wie rufe ich eine action-Methode, die auf Steuerung von außen, mit dem gleichen Verhalten, indem Sie {{action}}

Schauen Sie bitte auf diesen code...

``

            App.BooksRoute = Ember.Route.extend({
                model:  return function () {
                    return this.store.find('books');
                }
            });

            App.BooksController = Ember.ArrayController.extend({
                actions: {
                    updateData: function () {
                        console.log("updateData is called!");
                        var books = this.filter(function () {
                            return true;
                        });
                        for(var i=0; i<books.length; i++) {
                            //doSomething…
                        }
                    }
                }
            });

``

Möchte ich nennen, die updateData Aktion auf BooksController von außen.

Ich habe versucht, diesen code.


App.__container__.lookup("controller:books").send('updateData');

Es funktioniert tatsächlich. Aber, in der updateData Aktion, die this von der unterscheidet, in der updateData genannt wurde, indem Sie {{action 'updateData'}} auf books Vorlage.

Bei Klick auf {{action 'updateData'}}, der this.filter() Methode in updateData Aktion wird die Rückgabe der Bücher Modelle.
Aber, Im Falle der Berufung App.__container__.lookup("controller:books").send('updateData');, die this.filter() Methode in updateData Aktion wird nichts zurück.

Wie rufe ich die updateData Aktion auf BooksController von außen, mit dem gleichen Verhalten, indem Sie {{action 'updateData'}}.

Ich würde mich freuen, es zu wissen.

(Ich bin mit Ember.js 1.0.0)

InformationsquelleAutor EMADURANDAL | 2013-09-18

Schreibe einen Kommentar