ionic ngCordova插件安装
ngCordova的安装配置
官网提供了两种安装的方法:
1. 使用bower来安装
2. 下载zip文件
推荐使用bower安装,在使用bower之前,我们电脑中需要先配置bower。bower的配置非常简单:
bower简介:
Bower是一个客户端技术的软件包管理器,它可用于搜索、安装和卸载如JavaScript、HTML、CSS之类的网络资源。
准备工作:
- 安装node环境:node.js
- 安装Git,bower从远程git仓库获取代码包:g
安装bower:
使用npm,打开终端,输入:
npm install -g bower其中-g命令表示全局安装
这时候我们就可以使用bower来安装我们的ngCordova。
安装ngCordova
进入到工程目录,使用bower工具安装:
bower install ngCordova
bower ECMDERR Failed to execute git ls-remote --tags,
如果git报错的话,需要配置下GIT如下:
git config --global url."https://".insteadOf git://
稍作等待,我们的ngCordova就安装好了。
我们查看一下我们的项目,发现ngCordova已经在“项目路径\www\lib”下面:
接着,将ng-cordova.js 或者 ng-cordova.min.js文件include到我们的index.html。
<script src="lib/ngCordova/dist/ng-cordova.js"></script>
<script src="cordova.js"></script>
注意:ng-cordova.js文件必须在cordova.js之前并且在 AngularJS / Ionic文件之后(因为ngCordova depends on AngularJS)
在angular中添加ngCordova依赖
angular.module('myApp', ['ngCordova'])
通过deviceready event包装每个插件的调用
(不知道有没有翻译错。。)
在使用每个插件之前,必须先检测设备是否就绪,通过cordova内置的原生事件deviceready来检测,如下:
document.addEventListener("deviceready", function () {
$cordovaPlugin.someFunction().then(success, error);
}, false);
// OR with IONIC
$ionicPlatform.ready(function() {
$cordovaPlugin.someFunction().then(success, error);
});
ngCordova相机插件的使用
现在我们根据官网的文档来自己写一个小demo。
为了于cordova插件进行对比,我们还是使用上一讲的项目(即创建ionic项目时默认的那个)。
首先我们还是要安装插件的:
cordova plugin add cordova-plugin-camera
templates/tab-dash.html中的代码跟上一讲一样:
<ion-view view-title="Dashboard">
<ion-content class="padding">
<h2> Camera Test </h2>
<img id="imageFile" src="./img/ionic.png" width="100px" height="100px"/>
<button ng-click="openCamera()">openCamera</button>
</ion-content>
</ion-view>
在controllers.js中修改“DashCtrl”这个controller:
angular.module('starter.controllers', [])
.controller('DashCtrl', function($scope, $cordovaCamera) {
document.addEventListener("deviceready", function () {
var options = {
quality: 50,
destinationType: Camera.DestinationType.DATA_URL,
sourceType: Camera.PictureSourceType.CAMERA,
allowEdit: true,
encodingType: Camera.EncodingType.JPEG,
targetWidth: 100,
targetHeight: 100,
popoverOptions: CameraPopoverOptions,
saveToPhotoAlbum: false,
correctOrientation:true
};
$scope.openCamera= function(){
$cordovaCamera.getPicture(options).then(function(imageData) {
var image = document.getElementById('imageFile');
image.src = "data:image/jpeg;base64," + imageData;
}, function(err) {
// error
});
}, false;
})
})
注意,在app.js记得注入’ngCordova’:
angular.module('starter', ['ionic', 'starter.controllers', 'starter.services','ngCordova'])
实际演示效果跟上一讲中使用cordova插件没有太大的区别,就不贴图了。
在上面的代码中,我们关于插件的使用都是在
document.addEventListener("deviceready", function () {})
中进行的,这也即我们在上面讲的通过deviceready event包装每个插件的调用。
通过对比可以发现,我们的controller中的代码比上一讲中直接使用cordova简单了许多而且更符合我们AngularJs的代码的编写。
所以我还是建议使用ngCordova进行插件的使用,当然是那些已经封装好的。自定义插件是另外一回事。
ionic ngCordova插件安装的更多相关文章
- ngCordova插件安装使用
为什么ngCordova ngCordova是在Cordova Api基础上封装的一系列开源的AngularJs服务和扩展,让开发者可以方便的在HybridApp开发中调用设备能力,即可以在Angul ...
- npm 安装卸载模块 & ionic插件安装与卸载
npm安装模块 npm install xxx利用 npm 安装xxx模块到当前命令行所在目录 npm install -g xxx利用npm安装全局模块xxx 本地安装时将模块写入package.j ...
- ionic cordova plugin 安装和使用
注意事项 ionic1需要ng-cordova plugin的使用都需要放到deviceready事件的回调中, 设备准备好了才能设备交互 plugin只有在真机上才有效果, 模拟器(部分)和brow ...
- ionic ngcordova camera
拍照是經常用到的,所以記錄一下 拍照的代碼... 1. ionic start camera blankcd camera ionic platform add ios 2. 添加插件,這裏很熟悉.. ...
- [Android Studio]SQLScout插件安装破解
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5972138.html [Android Studio]SQLS ...
- elasticsearch5.0及head插件安装
这个瞎jb整了半天.准备把es2.4升级到5.0,结果老报错 环境:centos6.5+es2.4是ok的换成es5就出毛病.也不能说啥 ,我用的是最新的 源码解压启动时候报错,具体错误for ...
- subtext3插件安装
1.启用Package Control,利用它进行插件安装: 启用方法:菜单栏-view-show console 在弹出的输入框内,输入以下代码,按回车,稍后会出现package control安装 ...
- Ionic 常用插件
ionic扩展插件 1.ionic-timepicker 时间选择 https://github.com/rajeshwarpatlolla/ionic-timepicker 2.ionic-da ...
- webapp应用---cordova.js 3.7.0插件安装总结
今天是2014年的最后一天,年终总结什么的就不写了.记录一下今天的工作内容.如果不知道phoneGap,那么就不需要往下看了,phoneGap现在已经叫cordova了,叫什么不重要,重要的是它对we ...
随机推荐
- Asp.net MVC+Bootstrap3的悬浮式登录框效果
1.引用Bootstarp3 @Styles.Render("~/Content/css") @Scripts.Render("~/bundles/bootstrap&q ...
- TurboDemo软件使用教程:视频编辑
视频软件TurboDemo中不仅可以快速的捕捉屏幕,而且可以对视频进行编辑,本文来详细的了解一下这个步骤. 当你完整屏幕捕捉和录制后,点击系统托盘上的箭头或点击键盘上的“print screen”键之 ...
- npm 安装远程包(github的)
npm install git+ssh://git@github.com:xxx/xxx.git#master --save-dev npm install git+ssh://git@github. ...
- python opencv 利用Lab空间把春天的场景改为秋天
前一段时间实现了Reinhard颜色迁移算法,感觉挺有意思的,然后在代码上随意做了一些更改,有了一些发现,把Lab通道的a通道值改为127左右,可以将绿色改为黄色,而对其他颜色的改动非常小,因此可以将 ...
- TortoiseGit使用手册
1 安装 1.1 32位系统 1.2 64位系统 2 配置 2.1 设置语言 2.2 配置用户信息 2.3 生成ssh-key(仅限第一次使用) 2.4 初始化仓库(尚未使用git管理的项目) 2.5 ...
- ftp相关资料
一.ftp状态码 110 重新启动标记应答.在这种情况下文本是确定的,它必须是:MARK yyyy=mmmm,其中yyyy是用户进程数据流标记,mmmm是服务器标记. 120 ...
- input标签file的value属性IE兼容性问题
在IE中input标签file的value属性是只读的,不能通过js来改变,如下代码在IE中就是无效的: var input = document.getElementById('file'); in ...
- Network网络
ifconfig 查看服务器网卡名称 ethtool ethXXX 查看网卡具体信息 要测试一个网卡是否真是1000M的,最保险的说用wget测试一个对方的带宽足够大的下载地址 wget http:/ ...
- p12(PKCS12)和jks互相转换
p12 -> jks keytool -importkeystore -srckeystore keystore.p12 -srcstoretype PKCS12 -deststoretype ...
- ProcessBuilder 、Runtime和Process 的区别
1.版本原因 ProcessBuilder是从java1.5加进来的,而exec系列方法是从1.0开始就有的,后续版本不断的重载这个方法,到了1.5已经有6个之多. 2.ProcessBuilder. ...