Können wir von einer Komponente in ember js routen?

8

Ich habe eine Komponente, die eine Schaltfläche mit einer Aktion wie hat              {{action 'create'}} und in der Aktion create habe ich geschrieben wie this.transitionTo ('page.new'); Aber ich bekomme eine Ausnahme wie Kann die Eigenschaft 'enter' von undefined nicht lesen kann jemand bitte antworten? Möchte nur wissen, ist das möglich, von einer Komponente zu routen?

    
Joseph 27.03.2014, 09:23
quelle

4 Antworten

4

Ich habe die Antwort gefunden, die es möglich ist.Wir können einfach den folgenden Code aus unserer Komponentenaktion verwenden

App.Router.router.transitionTo('new route');

und wir erhalten dafür einen Rückruf, in dem wir das Modell der neuen Route festlegen können. Verwenden Sie dazu den folgenden Code.

%Vor%     
Joseph 28.03.2014, 09:22
quelle
7

Der Weg dazu besteht darin, this.sendAction() von Ihrer Komponente zu verwenden und sie zum Router zu leiten. Der Router kann dann this.transitionTo() aufrufen.

Der Weg link-to ist es, indem Sie routing _routing: inject.service('-routing'),

einfügen

Ссылка

    
coulix 13.11.2015 13:18
quelle
4

Ember.Component wird von Ember.View erweitert und Sie können this.transitionTo nicht in einer Ansicht verwenden. Dies kann nur über einen Controller / Router erfolgen.

Wenn Sie beim Klicken innerhalb der Komponente einen Übergang wünschen, können Sie den link-to -Helfer verwenden. Wenn Sie diese Aktion jedoch weiterhin ausführen möchten, lesen Sie: Ссылка und der Leitfaden danach.

    
rahulcs 27.03.2014 10:04
quelle
0

Injektion ist das letzte, was Sie tun wollen. Die Art, wie Sie Aktionen zwischen Routen und Komponenten kommunizieren, besteht darin, die Methode sendAction zu verwenden. Aktion senden

template.hbs

%Vor%

route.js

%Vor%

in Ihrer component.js

%Vor%

component.hbs

%Vor%     
Emil Reña Enriquez 17.05.2017 06:34
quelle

Tags und Links