javascript - Angular JS 错误 : [$injector:unpr] Unknown provider

标签 javascript angularjs ionic-framework onsen-ui

我是 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);
})();

请帮忙,是什么导致了这个错误?

最佳答案

你使用了模块setter语法两次,即:

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

您正在创建 app 模块两次。要使用 getter 语法,只需不传递第二个参数(数组)即可:

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

您的代码如下所示:

Controller :

(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
        };
    }]);
})();

关于javascript - Angular JS 错误 : [$injector:unpr] Unknown provider,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31790001/

相关文章:

html - 卡片无法添加页 footer 分

android - 在设备上调试 Ionic 3 代码

javascript - 基本 WebRTC DataChannel MCVE 在 Chrome 中不起作用

angularjs - 如果 ngSrc 路径解析为 404,是否有办法回退到默认值?

regex - Angular 输入限制指令 - 否定正则表达式

javascript - 客户端框架还是服务器端框架?

android - Cordova hideKeyboardAccessoryBar 不工作

javascript - 使用 setInterval 更改 html 上的标题

javascript - 点击事件在 dcmads 上不起作用

javascript - 在 d3.js 中如何创建用于投影的动态比例值?