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

时间:2015-02-20 18:24:45

标签: 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
  }
});

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

感谢。

1 个答案:

答案 0 :(得分:2)

我猜你已经从这一点开始了。但是,这是一个咒骂者,以防万一服务可以引用自己的方法。就像评论中所说的那样,它是关于this的javascript事。

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