我正在尝试向我的应用添加服务,但无法看到问题。我必须遗漏一些简单的东西。
我的应用程序定义如下:(在服务中删除了大量内容)。一旦我弄清楚我做错了什么,该服务也将被移动到一个单独的文件中。这就是为什么在这个例子中它是一个单独的调用;
var app = angular.module('app', ['ngRoute','ngResource', 'ngAnimate', 'ui.bootstrap', 'ui.tree', 'ngMap', 'ngTagsInput', 'angular-loading-bar', 'app.controllers'
, 'app.directives', 'app.localization', 'app.nav', 'app.ui.ctrls', 'app.ui.directives'
, 'app.ui.services', 'app.ui.map', 'app.form.validation', 'app.ui.form.ctrls', 'app.ui.form.directives', 'app.tables', 'app.task'
, 'app.chart.ctrls', 'app.chart.directives', 'app.page.ctrls'
, 'virtualAssistServices'
]
);
angular.module('app')
.service('virtualAssistServices', ['$http', function ($http) {
var urlBase = '/api/customers';
}]);
如果我从应用程序定义中删除virtualAssistServices一切正常,但只要我添加到app模块我就会收到错误
Error: [$injector:modulerr] Failed to instantiate module app due to: [$injector:modulerr]
Failed to instantiate module virtualAssistServices due to: [$injector:nomod] Module
'virtualAssistServices' is not available! You either misspelled the module name or
forgot to loadit. If registering a module ensure that you specify the dependencies
as the second argument.
http://errors.angularjs.org/1.2.27/$injector/nomod?p0=virtualAssistServices
答案 0 :(得分:1)
您不应该在virtualAssistServices
定义的依赖关系数组中提及app
,因为virtualAssistServices
不是模块。
您正在app模块本身定义服务。因此,服务功能固有地附加到应用程序。
答案 1 :(得分:0)
分配应用时,您不应该在数组中列出virtualAssistServices
。这是列出您所依赖的模块的原因;你不会在那里列出你自己的服务。
答案 2 :(得分:0)
如果作为同一模块的一部分创建,您的服务应该转到控制器而不是模块。如果在其他模块中创建服务,请在模块中添加依赖项。
app.controller('MyController', [ '$scope', 'virtualAssistServices', function($scope, virtualAssistServices) {
});