【问题标题】:Unknow provider on cardIO plugin using ngCordova Ionic使用 Cordova Ionic 的 cardIO 插件上的未知提供程序
【发布时间】:2015-08-27 22:17:08
【问题描述】:


我正在尝试将 cardIO 插件与 ngCordova 一起使用,但出现此错误:

Error: [$injector:unpr] Unknown provider: $cordovaNgCardIOProvider <- $cordovaNgCardIO <- SoldeCtrl

通常这意味着没有注入依赖项,但我认为这里不是这种情况:

var app = angular.module('mDinar', ['ionic', 'ngCordova']);
app.controller('SoldeCtrl', function($scope, $cordovaNgCardIO, $cordovaToast) {
    $scope.currentSolde = 50;
    $scope.ajoutCompte = function() {
        $cordovaNgCardIO.scanCard();
    }
});

...
<div class="card">
  <div class="item item-text-wrap">
    <button id="scanBtn" class="button button-balanced icon-left ion-plus-circled" ng-click="ajoutCompte()">Ajouter un compte</button>
  </div>
</div>
...

ngCordova 库 (github):

/* globals CardIO: true */
angular.module('ngCordova.plugins.cardIO', [])

  .provider(
  '$cordovaNgCardIO', [function () {
/* */
  }]
);

我不知道我错过了什么,请帮忙。

【问题讨论】:

  • 如果您明确地将 'ngCordova.plugins.cardIO' 作为依赖项添加到 'mDinar' 会有所不同吗?
  • @Ricconnect 但我需要get方法的scanCard函数:/
  • 也许我没有理解正确,但为了澄清我的意思是用angular.module('mDinar', ['ionic', 'ngCordova', 'ngCordova.plugins.cardIO']替换angular.module('mDinar', ['ionic', 'ngCordova']
  • @Ricconnect 问题是创建 ngCordova 是为了避免这种注入
  • 对不起,我没听懂。您是否在浏览器中运行时检查了正确的文件是否加载了正确的模块?我知道这是一个显而易见的问题,但您上面的代码似乎没有任何问题。

标签: angularjs cordova ionic-framework ngcordova cardio


【解决方案1】:

您可以将“ngCordova.plugins.cardIO”作为显式依赖添加到“mDinar”,正如我在上面的 cmets 中所述。

您还需要等到您在评论中提到的 deviceReady 事件被触发,以确保在尝试在控制器中使用 $cordovaNgCardIO 时加载插件。

【讨论】:

  • 有没有放完整代码的地方?
猜你喜欢
  • 2017-11-01
  • 2016-04-21
  • 2016-01-26
  • 2019-09-27
  • 2018-09-10
  • 2020-01-15
  • 1970-01-01
  • 2014-07-06
  • 1970-01-01
相关资源
最近更新 更多