Ionic2/angularJs2中的静态类 PhotoLibrary 调用不上
photoLibrary调用报错:No provider for PhotoLibrary;
在调用相册文件时有用到photolibrary,总有些莫名的报错,3月份的时候这个坑让我不知所措,现在写下来方便查看(也不知道Ionic2现在是否有变化),入坑过程:
按照官网示例:
1.添加插件:
cmd 到项目目录运行:
ionic plugin add cordova-plugin-photo-library --variable PHOTO_LIBRARY_USAGE_DESCRIPTION="To choose photos"
2. ts文件中添加:
import { PhotoLibrary } from '@ionic-native/photo-library';
constructor(private photoLibrary: PhotoLibrary) { }
this.photoLibrary.requestAuthorization().then(() => {
this.photoLibrary.getLibrary().subscribe({ next: library => {
library.forEach(function(libraryItem) {
console.log(libraryItem.id); // ID of the photo
//........
}); },
error: err => {}, complete: () => { console.log("could not get photos"); } }); })
.catch(err => console.log("permissions weren't granted"));
好,这一运行,就出现No provider for PhotoLibrary;
查了很久---------,终于发现了这个鬼;
在查看PhotoLibrary.java看到了一些静态的内部的类(没深入了解java---大概是这个意思):
public static XXX{}
而在java中的静态类 是不能使用继承的(使用 this、super关键字);
所以在.ts文件中就这样做-------->
import { PhotoLibrary } from '@ionic-native/photo-library';
constructor() { //1.构造函数中不注入PhotoLibrary
}
theFunction(){
//2.直接使用--不用this
PhotoLibrary.requestAuthorization().then(() => {
PhotoLibrary.getLibrary().subscribe({ next: library => {
library.forEach(function(libraryItem) {
console.log(libraryItem.id); // ID of the photo
//........
}); },
error: err => {}, complete: () => { console.log("could not get photos"); } }); })
.catch(err => console.log("permissions weren't granted"));
}
ionViewDidLoad(){
//3.调用方法
this.theFunction();
}
--------------最终调用成功了-------------------
总结:如果遇到类似的静态类,可以参照此方法。
Ionic2/angularJs2中的静态类 PhotoLibrary 调用不上的更多相关文章
- 在 Visual Studio 中调试时映射调用堆栈上的方法
本文转自:https://msdn.microsoft.com/zh-cn/library/dn194476.aspx 1.创建代码图,以便在调试时对调用堆栈进行可视化跟踪. 你可以在图中进行标注以跟 ...
- vue:再vue-cli项目中使用window以及调用window上的方法
一: 1:在main.js中 Vue.prototype.myfunction = function() {/*你的自定义Vue方法*/} 2:在mounted(或其他生命周期中) 或者 method ...
- YbSoftwareFactory 代码生成插件【二十五】:Razor视图中以全局方式调用后台方法输出页面代码的三种方法
上一篇介绍了 MVC中实现动态自定义路由 的实现,本篇将介绍Razor视图中以全局方式调用后台方法输出页面代码的三种方法. 框架最新的升级实现了一个页面部件功能,其实就是通过后台方法查询数据库内容,把 ...
- C#同一项目中不同文件或类中的方法进行调用
有两种方法,一是将被调用的类设置成静态类Static,这样就可以直接点出来了,二是将被调用的方法所在类设置成public,这几必须在调用类中先将被调用的类进行实体化,new()出来,再点出来. 一. ...
- JAVA中MESSAGEBOX,静态类直接引用
原文:JAVA中MESSAGEBOX,静态类直接引用 package cisdi.mes.wrm.mcode.serviceImpl; import javax.persistence.Entity; ...
- Tesseract API在VS 2013中的配置以及调用
[Tesseract]Tesseract API在VS 2013中的配置以及调用 时间:2016-05-31 20:35:19 阅读:127 评论:0 收藏:0 ...
- callable object与新增的function相关 C++11中万能的可调用类型声明std::function<...>
在c++11中,一个callable object(可调用对象)可以是函数指针.lambda表达式.重载()的某类对象.bind包裹的某对象等等,有时需要统一管理一些这几类对象,新增的function ...
- 《同一个类中不同方法之间的调用相关问题(省略的类名或者this)》
//同一个类中不同方法之间的调用相关问题(省略的类名或者this) class A { public void B() { System.out.println("b方法运行"); ...
- javascript中onclick事件能调用多个方法吗
Q: javascript中onclick事件能调用多个方法吗? A: 可以的,方法如下onclick="aa();bb();cc();"每个方法用“;”分号隔开就行了
随机推荐
- 【Spark】Spark容错机制
引入 一般来说,分布式数据集的容错性有两种方式:数据检查点和记录数据的更新. 面向大规模数据分析,数据检查点操作成本非常高,须要通过数据中心的网络连接在机器之间复制庞大的数据集,而网络带宽往往比内存带 ...
- [Algorithms] Insertion sort algorithm using TypeScript
Insertion sort is a very intuitive algorithm as humans use this pattern naturally when sorting cards ...
- Kafka跨集群同步工具——MirrorMaker
MirrorMaker是为解决Kafka跨集群同步.创建镜像集群而存在的.下图展示了其工作原理.该工具消费源集群消息然后将数据又一次推送到目标集群. watermark/2/text/aHR0cDov ...
- bootstrap模态框出现或者消失的回调函数
当某一模态框出现的时候就触发函数: $(".modal").on('show.bs.modal',function(){ if(vueObj){...}else{//如果vue对象 ...
- P-Called-Party-ID头域
典型的proxy server在路由 INVITE 请求到目标时插入 P-Called-Party-ID 头域.该头域用 porxy 收到请求的 Request-URI 填写. UAS 从几个已注冊的 ...
- Windows 驱动开发 - 7
在<Windows 驱动开发 - 5>我们所说的读写操作在本篇实现. 在WDF中实现此功能主要为:EvtIoRead和EvtIoWrite. 首先,在EvtDeviceAdd设置以上两个回 ...
- Broccoli & Babel使用演示样例
1 创建项目project文件夹:test 2 在test下运行 npm init 按提示填写package.json文件 3 安装broccoli命令行工具broccoli-cli npm inst ...
- C语言8大经典排序算法(2)
二.插入类排序 插入排序(Insertion Sort)的基本思想是:每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子文件中的适当位置,直到全部记录插入完成为止. 插入排序一般意义上有两 ...
- JSSDK使用步骤
绑定域名 先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”. 备注:登录后可在“开发者中心”查看对应的接口权限. 引入js文件 在需要调用JS接口的页面引入如下JS文件,( ...
- python3 批量管理Linux服务器 下发命令与传输文件
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import paramiko import os, stat import sys import ope ...