【发布时间】:2015-12-04 06:44:56
【问题描述】:
我有一个 AngularJS 工厂,我正在向其中注入服务。
我在 Chrome 中调试时可以看到服务被注入(在 return service; 行),但在我的一个函数中无法进一步访问它。
查看我尝试调用reportsContext.buildAggrFuncFromKriGrid的函数updateWidget
(function() {
'use strict';
angular.module('app').factory('widgetLinkingFactory', ['$q', 'reportsContext', linking]);
function linking($q, reportsContext) {
var service = {
linkCharts: linkCharts
};
return service;
function linkCharts(parId, widgets, parentWidgetData) {
_.each(widgets, function(wid) {
if (wid.dataModelOptions.linkedParentWidget) {
updateWidget(wid, parentWidgetData);
}
});
}
}
function updateWidget(widget, parWidData) {
// PULL RISK MEASURES ON CHILD WIDGET
var rm = widget.dataModelOptions.riskMeasures;
// ******* WHY IS 'reportsContext' SERVICE IS UNDEFINED HERE ?????
var aggrFuncArray = reportsContext.buildAggrFuncFromKriGrid(rm);
var cubeVectors = aggrFuncArray[0];
var aggrFunc = aggrFuncArray[1];
return true;
}
})();
【问题讨论】:
标签: angularjs