Ember从组件向上下文控制器发送操作

时间:2014-12-07 18:30:29

标签: ember.js

在下面的情况下成功调用了videoEnded函数,但是如何获取对它自己的实际Ember组件的引用?

export default Ember.Component.extend({
   videoEnded: function(){
       var self = this;
       alert('how do i get a reference to the actual ember component object here ?')
    }

   didInsertElement: function() {
        var self = this;
        var options = {};
         self._soundjs = soundjs('soundOne', options, function(){
        });

         self._soundjs.on('ended',self.videoEnded);
    } 

1 个答案:

答案 0 :(得分:1)

以下解决了我的问题。 videEnded回调正在丢失组件上下文。以下代码解决了该问题,传递给视频结束的self是指可以使用的组件上下文,用于将操作发送到上下文控制器。

self._soundjs.on('ended',function() { self.videoEnded.apply(self, arguments); });

信用:@teddyzeenny