未捕获的错误:[$injector:modulerr] 添加 $cordovaGeolocation 和 $ionicPopup 时无法实例化模块

Posted

技术标签:

【中文标题】未捕获的错误:[$injector:modulerr] 添加 $cordovaGeolocation 和 $ionicPopup 时无法实例化模块【英文标题】:Uncaught Error: [$injector:modulerr] Failed to instantiate module when adding $cordovaGeolocation and $ionicPopup 【发布时间】:2016-02-17 16:18:12 【问题描述】:

我的应用程序运行良好,我安装了cordova geolocation,但在添加$cordovaGeolocation 和$ionicPopup 后没有任何效果,我重新编写了几次代码并检查并重新检查了拼写等。

这是我的错误:

未捕获的错误:[$injector:modulerr] 无法实例化模块 caffeinehit,原因是:错误:[$injector:modulerr] 无法实例化模块 caffeinehit.services,原因是:错误:[$injector:nomod] 模块 'caffeinehit.服务'不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。

来自 app.js 的***代码:

var app = angular.module('caffeinehit', [
'ionic',
'ngCordova',
'caffeinehit.controllers',
'caffeinehit.services',
'caffeinehit.filters'

]);

services.js 代码:

var app = angular.module('caffeinehit.services', []);

app.service("YelpService", function ($q, $http, $cordovaGeolocation, $ionicPopup) 

  var self;
  self = 
    'page': 1,
    'isLoading': false,
    'hasMore': true,
    'results': [],
    'lat': 51.545540,
    'lon': -0.0223374,


    'load': function () 
      self.isLoading = true;
      var deferred = $q.defer();
      ionic.Platform.ready(function () 
        $cordovaGeolocation
          .getCurrentPosition(timeout: 10000, enableHighAccuracy: false)
          .then(function (position) 
            self.lat = position.coords.latitude;
            self.lon = position.coords.longitude;

后来在添加 $ionicPopup 时遇到问题:

 , function (err) 
            console.error("Error getting position");
            console.error(err);
            $ionicPopup.alert(
              'title': 'Please switch on your gps',
              'template': "It seems like you switch off your gps, please turn it on"
            );

【问题讨论】:

【参考方案1】:

你需要在你的应用模块中包含 ionic 和 cordova

var app = angular.module('caffeinehit.services', ['ionic', 'ngCordova']);

【讨论】:

【参考方案2】:

我发现了这个问题,一旦我改变了顺序并将 $ionicPopup 放在应用程序模块中的 $cordovaGeolocation 之前,它就起作用了。

【讨论】:

以上是关于未捕获的错误:[$injector:modulerr] 添加 $cordovaGeolocation 和 $ionicPopup 时无法实例化模块的主要内容,如果未能解决你的问题,请参考以下文章

错误:`未捕获(承诺中)类型错误:无法读取未定义的属性'doc'`

致命错误:未捕获的错误:未找到类“用户名”

Laravel - 致命错误:未捕获的错误:找不到类'Auth'

未捕获的类型错误未定义不是函数

未捕获的类型错误:无法读取未定义的属性“区域”?

JQuery:未捕获的类型错误:无法读取未定义的属性“调用”