从那以后,我发现我可以通过在我的工厂中使用 get() 方法来返回对象的实例,该方法返回新的服务实例。
但是如果我的对象不是服务(这里讨论语义)怎么办。EG 我有一个页面上有很多图表,图表对象(下)不是(语义上的)服务。
那么我是否必须使用诸如工厂/提供者/等模式之类的东西来声明它?感觉不对,因为它实际上不是服务。但是我需要从我的控制器中引用它,所以它需要被注入,或者以某种方式访问。&我不希望它污染全球范围。
var Chart = function () {
var self = this;
this.initialize = function (name, clientMethod, usingDateRange, usesAnalytics, initCB, serviceCB, highchartsConfig) {
this.name = name;
this.clientMethod = clientMethod;
this.usingDateRange = usingDateRange;
this.usesAnalytics = usesAnalytics;
this.initCB = initCB;
this.serviceCB = serviceCB;
this.highchartsConfig = highchartsConfig;
this.$chart = $('#' + name);
this.isIncluded = false;
this.highchartsConfig.chart.renderTo = this.name;
this.initCB && this.initCB(this);
};
};