Это мой код для инициализации приложения и создания контроллера.
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
. Я прочитал несколько других таких вопросов, ни одна из которых не помогла. Есть идеи?
Я думаю, вы не использовали ИИИФ правильно.
вы должны положить() в конец файла.
(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;
}
}
})()
put() выполнить/запустить функцию. прямо сейчас, когда вы не выполняете IIFE.