Javascript 在不同的上下文中使用组件

Javascript 在不同的上下文中使用组件,javascript,ember.js,bootstrap-switch,Javascript,Ember.js,Bootstrap Switch,我正在尝试从EmberJS中使用不同的库引导开关 我在('didInsertElement')中添加了以下内容: 但是,当调用此事件时,this的上下文将返回html元素toggleTag的object。相反,我需要访问组件以获取this 处理此问题的建议方法是什么?在ES6中,使用并继承父级的上下文(如果您使用的是ember cli,建议这样做): 在ES5中,使用以下两种方法修复函数上下文: $(toggleTag).on('switchChange.bootstrapSwitch', fu

我正在尝试从EmberJS中使用不同的库
引导开关

我在('didInsertElement')中添加了以下内容:

但是,当调用此事件时,
this
的上下文将返回html元素
toggleTag
object
。相反,我需要访问
组件
以获取
this

处理此问题的建议方法是什么?

在ES6中,使用并继承父级的上下文(如果您使用的是ember cli,建议这样做):

在ES5中,使用以下两种方法修复函数上下文:

$(toggleTag).on('switchChange.bootstrapSwitch', function(event, state){
  this.sendAction('updateAction', state);
}.bind(this));
或保存上下文:

var that = this;
$(toggleTag).on('switchChange.bootstrapSwitch', function(event, state){
  that.sendAction('updateAction', state);
});
$(toggleTag).on('switchChange.bootstrapSwitch', function(event, state){
  this.sendAction('updateAction', state);
}.bind(this));
var that = this;
$(toggleTag).on('switchChange.bootstrapSwitch', function(event, state){
  that.sendAction('updateAction', state);
});