replaceRoute (name, models) private
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.
1 2 | 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:
1 | 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:
1 | aController.replaceRoute( 'blogPost' , 1); |
Multiple models will be applied last to first recursively up the route tree.
1 2 3 4 5 6 7 8 | 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.
1 2 | 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.
Please login to continue.