簡體   English   中英

Angular JS錯誤:[$ injector:unpr]未知提供程序

[英]Angular JS Error: [$injector:unpr] Unknown provider

我是angular js的新手,我試圖提供自定義服務,我復制並粘貼了一段代碼以提供自定義服務,但是我總是遇到此錯誤,

Error: [$injector:unpr] Unknown provider: serviceProvider <- service <-         MainController
http://errors.angularjs.org/1.4.3/$injector/unpr?p0=serviceProvider%20%3C-  %20service%20%3C-%20MainController
at REGEX_STRING_REGEXP (angular.js:68)
at angular.js:4262
at Object.getService [as get] (angular.js:4409)
at angular.js:4267
at getService (angular.js:4409)
at Object.invoke (angular.js:4441)
at $get.extend.instance (angular.js:8999)
at nodeLinkFn (angular.js:8109)
at compositeLinkFn (angular.js:7541)
at publicLinkFn (angular.js:7416)(anonymous function) @ angular.js:12330

這是我的自定義服務實現

(function () {
    var myModule = angular.module('app', ['onsen']);
    myModule.service('service', ["$http", function ($http) {
        var test = function (usertoken) {
            alert("fffffffffffffffffffff");

        }
        return {
            getUserSites: getUserSites
        };
    }]);
})();

這是我的模塊實現:

(function () {
    var myApp = angular.module('app', ['onsen']);

    var MainController = function ($scope, $http, $interval, service) {
        $scope.clciclme = function () {
            alert("HIIIIIIIIIIIIIIIIIIII");
        }
    }
    myApp.controller('MainController', MainController);
})();

請幫助,這是什么原因導致此錯誤?

您使用了兩次模塊設置程序語法,即:

var myApp = angular.module('app', ['onsen']);

您正在兩次創建app模塊。 要使用getter語法,只需不傳遞第二個參數(數組):

var myApp = angular.module('app');

您的代碼如下所示:

控制器:

(function () {
    var myApp = angular.module('app', ['onsen']); // use the setter syntax one time

    var MainController = function ($scope, $http, $interval, service) {
        $scope.clciclme = function () {
            alert("HIIIIIIIIIIIIIIIIIIII");
        }
    }
    myApp.controller('MainController', MainController);
})();

服務:

(function () {
    var myModule = angular.module('app'); // use the getter syntax all subsequent times

    myModule.service('service', ["$http", function ($http) {
        var test = function (usertoken) {
            alert("fffffffffffffffffffff");

        }
        return {
            getUserSites: getUserSites
        };
    }]);
})();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM