在Ember Service中从其他方法调用方法

Jas*_*son 8 javascript ember.js

我刚学习Ember.js并遇到了一些障碍.我有一个服务,我想调用另一个我在同一个对象中定义的方法,如下所示:

export default Ember.Service.extend({
  myMethod: function() { ... },

  otherMethod: function() {
    this.myMethod(); // <---- this doesn't work
    this.get('myMethod')(); // <---- also doesn't work
    Ember.run.bind(this, this.myMethod)() // <---- no dice
  }
});
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?我非常想在代码库中重用代码.

谢谢.

sha*_*ane 2

我猜你已经从这一点开始了。但这里有一个 ember-twiddle 以防万一,它演示了服务如何引用自己的方法。就像评论中所说的那样,这是关于 javascript 的事情this

https://ember-twiddle.com/7caf29fe1df7f36e6e3e49578fc3aed3?openFiles=services.movi​​e-service.js%2Ctemplates.components.movi​​e-viewer.hbs