С тех пор я обнаружил, что могу возвращать экземпляры объекта, используя метод get() на моей фабрике, который возвращает новые экземпляры службы.
Но что, если мой объект не является сервисом (здесь речь идет о семантике). Например, у меня есть страница со множеством диаграмм, объект диаграммы (ниже) не является (семантически) службой.
Так что я должен объявить это, используя что-то вроде шаблона factory/provider/etc? Это кажется неправильным, так как на самом деле это не сервис. Но мне нужно сослаться на него с моего контроллера, поэтому его нужно внедрить или каким-то образом сделать доступным. И я не хочу, чтобы это загрязняло глобальную область.
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);
};
};