ngCordova 是在 Cordova Api 基础上封装的一系列开源的AngularJs服务和扩展,让开发者可以方便的在 HybridApp 开发中调用设备能力,即可以在 AngularJs 代码中访问设备能力 Api 。
在 cordova 插件的 sucess 和 error js 回调方法中,无法使用 angularjs 的 $scope 对象和注入的方法,只能访问全局的方法和变量,这样会导致很多麻烦,必须使用传统的 js 方法写很多难看的代码。使用 ngCordova 应该可以解决这个问题。
安装:
进入到工程目录,使用 bower 工具安装:$ bower install ngCordova
然后将 ng-cordova.js 或者 ng-cordova.min.js 添加到 index.html 中的 cordova.js 引入之前:
<script src="lib/ngCordova/dist/ng-cordova.js"></script>
<script src="cordova.js"></script>
然后再 angular 中添加 ngCordova 依赖,
angular.module('myApp', ['ngCordova'])
在使用每个插件之前,必须先检测设备是否就绪,通过cordova内置的原生事件deviceready来检测,如下:
document.addEventListener("deviceready", function () {
$cordovaPlugin.someFunction().then(success, error);
}, false);
// OR with Ionic
$ionicPlatform.ready(function() {
$cordovaPlugin.someFunction().then(success, error);
});
然后可以通过下面的命令添加插件到项目中:
cordova plugin add ...
ps:
参考:http://www.haomou.net/2015/02/10/2015_ionic_plugin/
plugin的教程,参见官网:
http://ngcordova.com/docs/plugins/