javascript - 从 ionic Controller 访问 Cordova 插件

标签 javascript angularjs cordova ionic-framework

我想使用 Cordova Email Plugin在 ionic 应用中。

我可以在 $ionicPlatform 函数中访问插件,但是当我将我的代码移动到我的 Controller 中用于处理 ng-click 的函数时,它不起作用。

知道我的问题是如何从 Controller 访问 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 ):

.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 中运行良好,但在单独的 Controller 文件中不起作用。

最佳答案

您应该为此使用 Angular.js 包装器。

查看 ngCordova .

关于javascript - 从 ionic Controller 访问 Cordova 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26786233/

相关文章:

javascript - 使用 cordova-plugin-camera 将 URI 图像转换为 base64 格式

javascript - RabbitMQ + Web Stomp 和安全性

javascript - 我可以轻松地 "set"元素的 offsetWidth 吗?

javascript - mdInkRipple 波纹整个 mdVirtualRepeat - Angular Material

javascript - 如何在 Angular Javascript 中查找内存泄漏

android - 将 Build.PhoneGap.com 与 A​​ndroid 设备一起使用会导致 'cannot call method ' getPicture' of undefined'

angularjs - 使用 ionic 应用程序内的系统浏览器打开所有链接

javascript - DatetimePicker 不显示时间选择器

javascript - 从 promise 响应中获取值(value)

javascript - 通过 gulp 从 index.html 中删除脚本