Угловая неосведомленная ошибка провайдера в пользовательском сервисе

0

Это мой код для инициализации приложения и создания контроллера.

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

Теги:
angularjs-service

1 ответ

1
Лучший ответ

Я думаю, вы не использовали ИИИФ правильно.

вы должны положить() в конец файла.

(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.

  • 0
    Спасибо @ zps215, он добился цели! Я застрял на этом около 3 часов.
  • 2
    да, это иногда случается. просто напоминание. не забудьте пометить правильный ответ и ему нравится :) потому что делиться заботой

Ещё вопросы

Сообщество Overcoder
Наверх
Меню