我想重新打开 Ember 或 Ember Data 框架类。使用 Ember CLI,放置这些以便获得初始化属性的正确位置在哪里?这是我想做的事情的一个例子:
import DS from 'ember-data';
DS.Model.reopen({
rollback: function() {
this._super();
// do some additional stuff
}
});
最佳答案
我认为执行具有副作用的模块的最佳方法是 create an initializer .像这样的东西:
// app/initializers/modify-model.js
import DS from 'ember-data';
let alreadyRun = false;
export default {
name: 'modify-model',
initialize() {
if (alreadyRun) {
return;
} else {
alreadyRun = true;
}
DS.Model.reopen({
// ...
});
}
};
初始化程序由 Ember-CLI 自动运行,因此无需自己调用它们。
编辑:正如 Karim Baaba 指出的那样,初始化程序可以运行不止一次。为了解决这个问题,我提供了一个
alreadyRun
旗帜。
关于ember.js - Ember CLI : where to reopen framework classes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27154886/