Ember CLI:在哪里重新打开框架类 [英] Ember CLI: where to reopen framework classes
问题描述
从ember-data导入DS;
DS.Model.reopen({
rollback:function(){
this._super();
//做一些额外的东西
}
});
我认为最好的方式来执行有侧面的模块效果将是创建初始化程序。这样的东西:
// app / initializers / modify-model.js
从'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
标志。
I'd like to reopen Ember or Ember Data framework classes. Using Ember CLI, where is the right place to put these so that they get initialized property? Here's an example of something I'd like to do:
import DS from 'ember-data';
DS.Model.reopen({
rollback: function() {
this._super();
// do some additional stuff
}
});
I think the best way to execute modules that have side effects would be to create an initializer. Something like this:
// 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({
// ...
});
}
};
Initializers are automatically run by Ember-CLI, so there's no need to call them yourself.
EDIT: As Karim Baaba pointed out, it's possible for initializers to run more than once. For an easy way around that, I've included an alreadyRun
flag.
这篇关于Ember CLI:在哪里重新打开框架类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!