从AngularJS控制器中调用phonegap插件
Calling phonegap plugin from AngularJS controller
我有一个第三方条码扫描器插件。我需要从angularJS控制器调用这个插件。我能够从index.js中成功触发扫描仪上的deviceready事件,该事件附带了一个基本的phonegap项目。但是,当我尝试从控制器调用插件时,扫描仪插件没有被触发。下面你可以找到我的index.js代码:
onDeviceReady: function() {
app.receivedEvent('deviceready');
cordova.plugins.pdf417Scanner.scan(function callback(scanningResult){
//handle success callback
}, function errorHandler(err){
//handle error
}, arg1, arg2
);
}
当我尝试在angular控制器中这样做时,比如:
var myApp = angular.module("scanApp",[]);
myApp.controller("mainCtrl", function(){
document.addEventListener('deviceready', fireScanner, false);
function fireScanner(){
alert("fireScanner is on");
cordova.plugins.pdf417Scanner.scan(function callback(scanningResult){
//handle success callback
}, function errorHandler(err){
//handle error
}, arg1, arg2
);
}
现在,在angular控制器中,我将插件调用封装在deviceready事件监听器中。警报说"fireScanner是on"被触发,但条码扫描器插件没有被触发。我确信我错过了一些简单的东西,但我不知道是什么。任何帮助将非常感激!
我发现问题是什么了!这是我传递给插件的参数!在index.js中,我在onDeviceReady函数下创建arg1和arg2,并且它没有在onDeviceReady函数之外使自己可用。我没有在控制器中创建arg1和arg2,它在控制器中根本不可用,因此插件没有被触发。我必须在控制器中定义arg1和arg2才能使其工作
相关文章:
- Phonegap插件谷歌地图api v2上的多个标记
- phonegap插件推送不注册
- 如何使用phonegap插件从android调用javascript函数
- Phonegap插件错误
- 我可以'不要在eclipse中使用css,javascript文件和已安装的phonegap插件
- 用于更改屏幕方向的phonegap插件出错
- Phonegap插件未加载
- Phonegap插件的行为方式很奇怪
- 让PhoneGap插件工作
- Cordova/phonegap 插件兼容性问题 - org.chromium.socket / org.chromiu
- Phonegap插件:检索用户配置文件,电子邮件和Gmail
- 适用于ios的Phonegap插件..javascript部分
- phonegap插件的自动测试
- 关于Phonegap插件开发的查询
- 什么'PhoneGap插件和addJavascriptInterface之间的区别
- 连接并缩小cordova/phonegap插件文件
- 安装PhoneGap插件时出现问题
- PhoneGap插件,为什么每个平台(Android,iOS)都有不同的Javascript部分
- 如何在这个Phonegap插件中为iOS AudioServices编写停止函数
- Phonegap插件不工作(cordova-plugin-purchase)