考虑以下服务
angular
.module(moduleName, [])
.service('myService', function () {
this.plugins = [];
this.process = function (data) {
var output = data;
this.plugins.forEach(function (plugin) {
output = plugin.process(output);
});
return output;
});
和插件
function doMagic() {
...
this.process(data) { ... }
...
}
我的想法是,当我加载插件时,它应该添加到plugins
数组中。什么是首选方式?
我可以想到一种方法,那就是制作每个插件的service
angular
.module(moduleName)
.service('doMagicPlugin', function(myService) {
myService.plugins.push( {
...
});
但我认为这里的问题是有很多开销,因为插件不会被注入或在其他地方使用。
任何反馈都将不胜感激!