this.sendAction 不适用于复选框
this.sendAction is not working for checkbox
为什么 this.sendAction 在下面的代码中不起作用?我收到错误
Uncaught TypeError: this.sendAction is not a function
//components/check-box2
从 'ember' 导入 Ember;
export default Ember.Checkbox.extend({
checkChange: Ember.observer('checked', function () {
this.sendAction('action', {
checked: this.get('checked'),
value: this.get('value')
});
})
});
this.send() 似乎有效
import Ember from 'ember';
export default Ember.Checkbox.extend({
checkChange: Ember.observer('checked', function () {
this.send('internalAction', this.get('checked'), this.get('value'));
}),
actions: {
internalAction: function (x, y) {
console.log('calling internal change with value', x, y);
this.sendAction('action', {
checked: x,
value: y
});
}
}
});
组件使用如下:
{{check-box2 checked=true name="namedBox" value="xyz" action="checkCheckbox"}}
据我所知,Ember.Checkbox 正在扩展一个组件,因此我们应该能够做到 this.sendAction
http://emberjs.com/api/classes/Ember.Checkbox.html
您使用的 Ember 是什么版本?由于您用 ember-cli
标记了问题,我认为它是 1.13.8 或更低。 Ember.Checkbox
在您的情况下扩展了 Ember.View
:1.13.10。这在 2.0 中已更改,因为他们完全摆脱了视图。
所以你不能在 Ember.View
上使用 this.sendAction
,但你可以使用 this.controller.send
。
为什么 this.sendAction 在下面的代码中不起作用?我收到错误
Uncaught TypeError: this.sendAction is not a function
//components/check-box2 从 'ember' 导入 Ember;
export default Ember.Checkbox.extend({
checkChange: Ember.observer('checked', function () {
this.sendAction('action', {
checked: this.get('checked'),
value: this.get('value')
});
})
});
this.send() 似乎有效
import Ember from 'ember';
export default Ember.Checkbox.extend({
checkChange: Ember.observer('checked', function () {
this.send('internalAction', this.get('checked'), this.get('value'));
}),
actions: {
internalAction: function (x, y) {
console.log('calling internal change with value', x, y);
this.sendAction('action', {
checked: x,
value: y
});
}
}
});
组件使用如下:
{{check-box2 checked=true name="namedBox" value="xyz" action="checkCheckbox"}}
据我所知,Ember.Checkbox 正在扩展一个组件,因此我们应该能够做到 this.sendAction http://emberjs.com/api/classes/Ember.Checkbox.html
您使用的 Ember 是什么版本?由于您用 ember-cli
标记了问题,我认为它是 1.13.8 或更低。 Ember.Checkbox
在您的情况下扩展了 Ember.View
:1.13.10。这在 2.0 中已更改,因为他们完全摆脱了视图。
所以你不能在 Ember.View
上使用 this.sendAction
,但你可以使用 this.controller.send
。