【发布时间】:2016-09-02 11:42:44
【问题描述】:
我有一个第 3 方条码扫描器插件。我需要从 angularJS 控制器调用这个插件。我能够成功触发来自 index.js 的 deviceready 事件的扫描仪,该 index.js 带有一个基本的 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
);
}
当我尝试在角度控制器中执行此操作时,类似于:
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
);
}
现在,在角度控制器中,我将插件调用包装在一个 deviceready 事件侦听器中。提示“fireScanner 已开启”的警报正在触发,但条码扫描器插件未触发。我确定我错过了一些简单的东西,但我无法弄清楚是什么。任何帮助将不胜感激!
【问题讨论】:
-
在 Angular 中,您可以使用 $rootScope.$on('deviceready', function()...通过在匿名函数中添加函数调用。
标签: javascript angularjs cordova phonegap-plugins cordova-plugins