Angularjs-Uknown提供程序
每当我这样做:Angularjs-Uknown提供程序,angularjs,Angularjs,每当我这样做: app.controller('hangmanController', ['$scope', 'wordnickAPIService', function ($scope, wordnickAPIService) { 我明白了: [$injector:unpr] Unknown provider: wordnickAPIServiceProvider <- wordnickAPIService 我的工厂: 'use strict'; var app = angular
app.controller('hangmanController', ['$scope', 'wordnickAPIService', function ($scope, wordnickAPIService) {
我明白了:
[$injector:unpr] Unknown provider: wordnickAPIServiceProvider <- wordnickAPIService
我的工厂:
'use strict';
var app = angular.module('angularHangmanApp', []);
app.factory('wordnickAPIService', ['$http', function($http) {
return {
get: function(url) {
return $http.get(url);
},
post: function(url) {
return $http.post(url);
},
};
}]);
问题是,您正在使用相同的名称创建多个模块 要以角度创建模块,请使用:
var app = angular.module('angularHangmanApp', []);
然后,要在其他地方获取该模块,只需键入:
var app = angular.module('angularHangmanApp');
没有额外的[…]
另外,在尝试调用服务之前,请确保您声明了该服务。在您的工厂和控制器中,您实际上是在重新定义
应用程序
模块
而不是说
var app = angular.module('angularHangmanApp', []);
说
在应用程序中只使用第一种调用样式一次(可能只是app.js)。所有其他引用都应该使用第二个样式调用,否则,您将不断重新定义angular应用程序,并丢失以前声明的所有控制器、工厂和指令。最可能的问题是您没有包括包含wordnickAPIService的脚本
var app = angular.module('angularHangmanApp');
var app = angular.module('angularHangmanApp', []);
var app = angular.module('angularHangmanApp');