Ich benutze Ember.js und ich möchte eine catch all Route erstellen, um den Benutzer zurück zum Stamm der Anwendung zu senden, wenn sie zu einer URL navigieren, die nicht eine Ressource zuordnen (Ich verwende die Geschichte API) Ich habe dies umgesetzt wie so:Definieren einer multi segmentierten Catch alle Route in ember.js
App.Router.map(function() {
this.resource('things', function() {
this.resource('thing', {path:':thing_id'});
});
this.route('catchAll', { path: ':*' });
this.route('catchAll', { path: ':*/:*' });
this.route('catchAll', { path: ':*/:*/:*' });
});
App.Router.reopen({
location: 'history'
});
App.CatchAllRoute = Ember.Route.extend({
redirect: function() {
this.transitionTo('index');
}
});
App.IndexRoute = Ember.Route.extend({
});
Meine Frage ist: Kann ich definiere eine einzelne catch all Route, die jeden Pfad übereinstimmen, die auf eine Ressource nicht aufgelöst hat, unabhängig von der Zahl von Segmenten im Pfad?
Ich verwende Ember.VERSION: 1.0.0-rc.1
Ups, fand einen Copy-Paste-Fehler, Code aktualisiert. –
Perfekt! Vielen Dank! – i0n
Das ist mehr oder weniger richtig, aber ein bisschen verwirrend. Das ':' ist der Name, den Sie dem Fang alles geben. Eher "Wildcardurl" oder ähnliches. Wie wenn Sie Dinge mit den Parametern in Ihrem Modell Setup tun. –