我正在尝试使用服务在我的应用程序中创建一个通用可访问的数组。我还在我的应用程序中实现了 ui-router。 我在 app.js 中创建服务:
myFamilyApp.service('global', function() {
var eventArray = [];
return {
addEvent: function() {
eventArray.push(newObj);
}
}
});
然后我从我的 Controller 调用它:
myFamilyApp.controller('newEventController', [ '$scope', '$state',
function($scope, $state, global) {
eventConfig = {//variables to create event};
e = new Event(eventConfig);
global.addEvent(e);
});
但由于某种原因我收到此错误:
TypeError: Cannot read property 'addEvent' of undefined
我知道问题是 Controller 无法识别全局变量,但我不知道为什么。我看过其他几篇文章,通常都搞乱了它,但我不明白为什么我的 Controller 访问该服务。有什么想法吗?
最佳答案
我刚刚意识到我的问题,我很抱歉发布这个问题,我对 Angular 仍然很陌生。我的问题很简单,当我创建 Controller 时我没有传递“全局”
myFamilyApp.controller('newEventController', [ '$scope', '$state', 'global', 函数(参数)
关于javascript - Angular JS 服务未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28976522/