簡體   English   中英

從離子控制器訪問cordova插件

[英]access cordova plugins from ionic controller

我想在離子應用程序中使用Cordova Email Plugin

我可以訪問$ ionicPlatform函數中的插件但是當我將我的代碼移動到我的控制器中的一個函數來處理ng-click它是行不通的。

知道我的問題是如何從控制器訪問cordova插件對象?

這是我在app.js中使用的代碼並且有效:

.run(function($ionicPlatform) {
  $ionicPlatform.ready(function() {

cordova.plugins.email.isAvailable(
  function (isAvailable) {
       alert('Service is available');
  }
);
// Hide the accessory bar by default (remove this to show the accessory bar above the keyboard
// for form inputs)
if(window.cordova && window.cordova.plugins.Keyboard) {
  cordova.plugins.Keyboard.hideKeyboardAccessoryBar(true);
}
if(window.StatusBar) {
  // org.apache.cordova.statusbar required
  StatusBar.styleDefault();
}
  });
})

這與controller.js中的代碼相同,但是沒有用(我在我的路線中設置了控制器):

.controller('ApplicationController', function($scope) {
  $scope.sendMail = function () {
    cordova.plugins.email.isAvailable(
      function (isAvailable) {
           alert('Service is not available');
      }
    );
  }
})

這是我的點擊通話:

  <a ng-click="sendMail()">
  <i class="icon ion-android-forums"></i>
send mail
  </a>

這是代碼在$ ionicPlatform中運行良好,但在單獨的控制器文件中不起作用。

你應該使用Angular.js包裝器。

看看ngCordova

在引用$ionicPlatform之外的插件時,嘗試使用window.cordova而不是cordova

暫無
暫無

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

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