2015-08-29 2 views
0

Это мой код для инициализации приложения и создания контроллера.Ошибка поставщика углового unknower в пользовательском сервисе

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. Я читал несколько других таких вопросов, ни одна из которых не помогла. Есть идеи?

ответ

1

Я думаю, что вы не использовали 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; 
    } 
} 

})()

ввода() выполнить/запустить функцию. прямо сейчас, когда вы не выполняете IIFE.

+0

Спасибо @ zps215, он сделал трюк! Я застрял на этом около 3 часов. –

+2

Да, это случается иногда. просто напоминание. не забудьте отметить правильный ответ и понравится :) причина, по которой происходит уход –

Смежные вопросы