"错误:[$ injector:unpr]未知提供商:"更新控制器依赖项时

时间:2017-06-05 05:22:13

标签: javascript angularjs cordova ionic-framework

我无法让我的项目运行。它很好,直到我......

  1. 更新我的控制器以包含"$ionicPlatform, $cordovaToast, $cordovaLocalNotification"

    .controller('MenuController', ['$scope', 'menuFactory', 'dishes', 'favoriteFactory', 'baseURL', '$ionicListDelegate', '$ionicPlatform', '$cordovaToast',  '$cordovaLocalNotification',
    function ($scope, menuFactory, dishes, favoriteFactory, baseURL, $ionicListDelegate, $ionicPlatform, $cordovaToast, $cordovaLocalNotification) {
    
  2. 我尝试运行我的项目并获得

  3.   

    错误:[$ injector:unpr]未知提供商:$ cordovaLocalNotificationProvider< - $ cordovaLocalNotification< - MenuController

    然后Angular doc和我发现的其他帖子表明在此控制器的依赖注入中$cordovaLocalNotification已被省略或拼写错误,但我确定它们是相同的

2 个答案:

答案 0 :(得分:2)

确保您已包含工作$ cordovaLocalNotification所需的所有必需JS文件。

 <!-- ngCordova -->
<script src="lib/ngCordova/dist/ng-cordova.js"></script>    

 var ctrls = angular.module('notiApp.controllers', ['ionic', 'ngCordova', 'ngCordova.plugins']);

答案 1 :(得分:0)

宾果!感谢那。这让我感到悲伤...... fyi。我有那个脚本参考,但订单错了。

它是

<!-- ionic/angularjs js -->
<script src="lib/ionic/js/ionic.bundle.js"></script>
<script src="lib/ionic/js/angular/angular-resource.min.js"></script>
<script src="lib/ngCordova/dist/ng-cordova.js"></script>//THIS is the line

我更改为以下内容并解决了问题。

<!-- ionic/angularjs js -->
<script src="lib/ionic/js/ionic.bundle.js"></script>
<script src="lib/ngCordova/dist/ng-cordova.js"></script>//THIS is the line
<script src="lib/ionic/js/angular/angular-resource.min.js"></script>