在Ember.js中,如何使用父模型的函数

时间:2015-11-04 16:30:36

标签: ember.js ember-data

我有两种模式:

Parent = Ember.Model.extend({
  hello: function() {
    console.log("parent says hello");
  },
  world: function() {
    console.log("parent says world");
  }
});
Child = Ember.Model.extend(Parent, {
  hello: function() {
    console.log("child says hello");
    // how do I call Parent.hello here?
    // how do I call Parent.world here?
  }
});

我想从Child.hello函数中调用Parent.hello和Parent.world函数。

我该怎么做呢?是否有一个我可以使用的超级方法或者我只使用bind并引用Child.hello函数中的Parent模型类?

2 个答案:

答案 0 :(得分:2)

您可以使用this._super()来调用父方法。它在Ember指南中进行了简短的讨论。

http://guides.emberjs.com/v2.1.0/object-model/classes-and-instances/

要调用尚未被覆盖的方法,您只需执行this.world()

您可以在此处查看示例:http://emberjs.jsbin.com/renijuqoko/1/edit?js,console,output

答案 1 :(得分:2)

没什么特别的,只是:

  

我如何在这里打电话给Parent.hello?

this._super()

  

我如何在这里打电话给Parent.world?

this.world()

Working demo.