Ember.TargetActionSupport Class packages/ember-runtime/lib/mixins/target_action_support.js:8
Extends: Ember.Mixin
Defined in: packages/ember-runtime/lib/mixins/target_action_support.js:8
Module: ember-runtime
Ember.TargetActionSupport is a mixin that can be included in a class
to add a triggerAction method with semantics similar to the Handlebars
{{action}} helper. In normal Ember usage, the {{action}} helper is
usually the best choice. This mixin is most often useful when you are
doing more complex event handling in View objects.
See also Ember.ViewTargetActionSupport, which has
view-aware defaults for target and actionContext.
apply
(obj)
Parameters:
- obj
Returns:
- applied object
create
(arguments)
static
Parameters:
- arguments
detect
(obj)
Boolean
Parameters:
- obj
Returns:
- Boolean
reopen
(arguments)
Parameters:
- arguments
triggerAction
(opts)
Boolean
Send an "action" with an "actionContext" to a "target". The action, actionContext and target will be retrieved from properties of the object. For example:
1 2 3 4 5 6 7 8 9 |
App.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {
target: Ember.computed.alias('controller'),
action: 'save',
actionContext: Ember.computed.alias('context'),
click: function() {
this.triggerAction(); // Sends the `save` action, along with the current context
// to the current controller
}
});
|
The target, action, and actionContext can be provided as properties of
an optional object argument to triggerAction as well.
1 2 3 4 5 6 7 8 9 10 |
App.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {
click: function() {
this.triggerAction({
action: 'save',
target: this.get('controller'),
actionContext: this.get('context'),
}); // Sends the `save` action, along with the current context
// to the current controller
}
});
|
The actionContext defaults to the object you mixing TargetActionSupport into.
But target and action must be specified either as properties or with the argument
to triggerAction, or a combination:
1 2 3 4 5 6 7 8 9 |
App.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {
target: Ember.computed.alias('controller'),
click: function() {
this.triggerAction({
action: 'save'
}); // Sends the `save` action, along with a reference to `this`,
// to the current controller
}
});
|
Parameters:
- opts Hash
- (optional, with the optional keys action, target and/or actionContext)
Returns:
- Boolean
- true if the action was sent successfully and did not return false