Uses: | Ember.ActionHandler |
---|---|
Defined in: | packages/ember-runtime/lib/mixins/controller.js:5 |
Module: | ember |
Defined in packages/ember-routing/lib/ext/controller.js:154
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');
Inherited from Ember.ActionHandler packages/ember-runtime/lib/mixins/action_handler.js:144
Triggers a named action on the ActionHandler
. Any parameters supplied after the actionName
string will be passed as arguments to the action target function.
If the ActionHandler
has its target
property set, actions may bubble to the target
. Bubbling happens when an actionName
can not be found in the ActionHandler
's actions
hash or if the action target function returns true
.
Example
App.WelcomeRoute = Ember.Route.extend({ actions: { playTheme() { this.send('playMusic', 'theme.mp3'); }, playMusic(track) { // ... } } });
Defined in packages/ember-routing/lib/ext/controller.js:75
Transition the application into another route. The route may be either a single route or route path:
aController.transitionToRoute('blogPosts'); aController.transitionToRoute('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.transitionToRoute('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.transitionToRoute('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.transitionToRoute('blogComment', aPost, aComment); aController.transitionToRoute('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.transitionToRoute('/'); aController.transitionToRoute('/blog/post/1/comment/13'); aController.transitionToRoute('/blog/posts?sort=title');
An options hash with a queryParams
property may be provided as the final argument to add query parameters to the destination URL.
aController.transitionToRoute('blogPost', 1, { queryParams: { showComments: 'true' } }); // if you just want to transition the query parameters without changing the route aController.transitionToRoute({ queryParams: { sort: 'date' } });
See also replaceRoute.
© 2017 Yehuda Katz, Tom Dale and Ember.js contributors
Licensed under the MIT License.
https://emberjs.com/api/ember/2.15/classes/Ember.ControllerMixin/methods