Angular 自定义服务中的未知提供商错误
Angular unknower provider error in custom service
这是我用于初始化应用程序和创建控制器的代码。
var app = angular.module('newstalk',[]);
app.controller("articleCtrl",['$scope','$http','dataService',function($scope,$http,dataService){
$scope.articles = dataService.getArticles();
$scope.commentForm = function(id,userid){
console.log(userid);
var uid = userid;
var c = this.contents;
var data = {
content: c,
user: uid
};
console.log(data);
$http.post('/api/article/'+id,data);
};
}]);
现在,我还创建了一个服务来从服务器获取数据。这是相关代码:
(function(){
angular.module('newstalk')
.factory('dataService',dataService);
function dataService(){
return {
getArticles : getArticles
};
function getAricles(){
console.log("yolo");
return $http({
method:get,
url:'/api/articles/0'
})
.then(sendResponse);
}
function sendResponse(response){
console.log(data);
return response.data;
}
}
})
这在一个单独的文件中。现在,当我 运行 这个时,我得到一个 Error: $injector:unpr Unknown Provider
错误。
我已经阅读了多个其他此类问题,none 其中有帮助。有什么想法吗?
我认为你没有正确使用 IIFE。
你应该把 () 放在文件的末尾。
(function(){
angular.module('newstalk')
.factory('dataService',dataService);
function dataService(){
return {
getArticles : getArticles
};
function getAricles(){
console.log("yolo");
return $http({
method:get,
url:'/api/articles/0'
})
.then(sendResponse);
}
function sendResponse(response){
console.log(data);
return response.data;
}
}
})()
放置() execute/run函数。现在你没有执行 IIFE。
这是我用于初始化应用程序和创建控制器的代码。
var app = angular.module('newstalk',[]);
app.controller("articleCtrl",['$scope','$http','dataService',function($scope,$http,dataService){
$scope.articles = dataService.getArticles();
$scope.commentForm = function(id,userid){
console.log(userid);
var uid = userid;
var c = this.contents;
var data = {
content: c,
user: uid
};
console.log(data);
$http.post('/api/article/'+id,data);
};
}]);
现在,我还创建了一个服务来从服务器获取数据。这是相关代码:
(function(){
angular.module('newstalk')
.factory('dataService',dataService);
function dataService(){
return {
getArticles : getArticles
};
function getAricles(){
console.log("yolo");
return $http({
method:get,
url:'/api/articles/0'
})
.then(sendResponse);
}
function sendResponse(response){
console.log(data);
return response.data;
}
}
})
这在一个单独的文件中。现在,当我 运行 这个时,我得到一个 Error: $injector:unpr Unknown Provider
错误。
我已经阅读了多个其他此类问题,none 其中有帮助。有什么想法吗?
我认为你没有正确使用 IIFE。
你应该把 () 放在文件的末尾。
(function(){
angular.module('newstalk')
.factory('dataService',dataService);
function dataService(){
return {
getArticles : getArticles
};
function getAricles(){
console.log("yolo");
return $http({
method:get,
url:'/api/articles/0'
})
.then(sendResponse);
}
function sendResponse(response){
console.log(data);
return response.data;
}
}
})()
放置() execute/run函数。现在你没有执行 IIFE。