Class Ember.ControllerMixin
privatereplaceRoute (name, models) Transition public
Defined in packages/@ember/-internals/routing/lib/ext/controller.ts:177
- 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.
- returns
- Transition
- the transition object associated with this attempted transition
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.
app/router.js | |
1 2 3 4 5 |
Router.map(function() { this.route('blogPost', { path: ':blogPostId' }, function() { this.route('blogComment', { path: ':blogCommentId', resetNamespace: true }); }); }); |
1 2 |
aController.replaceRoute('blogComment', aPost, aComment); aController.replaceRoute('blogComment', 1, 13); |
It is also possible to pass a URL (a string that starts with a
/
).
1 2 |
aController.replaceRoute('/'); aController.replaceRoute('/blog/post/1/comment/13'); |
send (actionName, context) public
Inherited from Ember.ActionHandler packages/@ember/-internals/runtime/lib/mixins/action_handler.js:167
- actionName
- String
- The action to trigger
- context
- *
- a context to send with the action
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/routes/welcome.js | |
1 2 3 4 5 6 7 8 9 10 11 12 |
import Route from '@ember/routing/route'; export default Route.extend({ actions: { playTheme() { this.send('playMusic', 'theme.mp3'); }, playMusic(track) { // ... } } }); |
templateOnly (moduleName) public
Defined in packages/@ember/component/template-only.ts:6
- moduleName
- String
- the module name that the template only component represents, this will be used for debugging purposes
This utility function is used to declare a given component has no backing class. When the rendering engine detects this it
is able to perform a number of optimizations. Templates that are associated with templateOnly()
will be rendered as is
without adding a wrapping <div>
(or any of the other element customization behaviors of @ember/component).
Specifically, this means that the template will be rendered as "outer HTML".
In general, this method will be used by build time tooling and would not be directly written in an application. However,
at times it may be useful to use directly to leverage the "outer HTML" semantics mentioned above. For example, if an addon would like
to use these semantics for its templates but cannot be certain it will only be consumed by applications that have enabled the
template-only-glimmer-components
optional feature.