ControllerMixin#replaceRoute()

replaceRoute (name, models) private

Defined in packages/ember-routing/lib/ext/controller.js:122

Transition into another route while replacing the current URL, if possible. This will replace the current history entry instead of adding a new one. Beside that, it is identical to transitionToRoute in all other respects.

aController.replaceRoute('blogPosts');
aController.replaceRoute('blogPosts.recentEntries');

Optionally supply a model for the route in question. The model will be serialized into the URL using the serialize hook of the route:

aController.replaceRoute('blogPost', aPost);

If a literal is passed (such as a number or a string), it will be treated as an identifier instead. In this case, the model hook of the route will be triggered:

aController.replaceRoute('blogPost', 1);

Multiple models will be applied last to first recursively up the route tree.

App.Router.map(function() {
  this.route('blogPost', { path: ':blogPostId' }, function() {
    this.route('blogComment', { path: ':blogCommentId', resetNamespace: true });
  });
});

aController.replaceRoute('blogComment', aPost, aComment);
aController.replaceRoute('blogComment', 1, 13);

It is also possible to pass a URL (a string that starts with a /). This is intended for testing and debugging purposes and should rarely be used in production code.

aController.replaceRoute('/');
aController.replaceRoute('/blog/post/1/comment/13');

Parameters:

name String
the name of the route or a URL
models ...Object
the model(s) or identifier(s) to be used while transitioning to the route.
doc_EmberJs
2016-11-30 16:48:57
Comments
Leave a Comment

Please login to continue.