我得到同样的错误
barcodescanner.js:130未捕获的ReferenceError:未定义require
ionic.bundle.js:20306 ReferenceError:未定义cordova
Cordova CLI:5.0.0 Gulp版本:CLI版本3.8.11 Gulp local:本地版本3.8.11 离子版:1.0.0 离子CLI版本:1.4.3 Ionic App Lib版本:0.0.19 ios-deploy版本:未安装 ios-sim版本:3.1.1 操作系统:Mac OS X Mavericks 节点版本:v0.12.2 Xcode版本:Xcode 6.1.1 Build版本6A2008a
我的index.html
angular.module('starter', ['ionic', 'starter.controllers', 'ngCordova'])
------ app.js包含-----------------
angular.module('starter.controllers', ['ngCordova'])
.controller('AppCtrl', function($scope, $ionicModal, $timeout, $stateParams, $http, $cordovaBarcodeScanner) {
.......
$scope.scanBarcode = function() {
var scanner = cordova.plugins.BarcodeScanner;
if (scanner == undefined) {
scanner = cordova.require("cordova/plugin/BarcodeScanner");
}
scanner.scan()
.then(function (imageData) {
alert(imageData.text);
console.log(imageData.format);
// Success! Barcode data is here
}, function (err) {
console.log(err);
// An error occurred
});
};
------ controllers.js包含-------------------
{{1}}
任何人都可以帮助我吗?
答案 0 :(得分:1)
如果您使用的是iOS模拟器,则无法测试此插件,因为模拟器不支持相机。所以你需要使用真实的设备来测试你的应用程序。
检查文档: Testing and Debugging in iOS Simulator
<强>更新强>
您的代码似乎有一些错误。 试试这个例子,我还没有测试但应该有效:
控制器
summary(reg)
HTML:
angular.module('starter.controllers', ['ngCordova'])
.controller('AppCtrl', function($scope, $ionicModal, $timeout, $stateParams, $http, $cordovaBarcodeScanner) {
$scope.scanBarcode = function(){
$cordovaBarcodeScanner.scan().then(function(barcodeData) {
// Success! Barcode data is here
alert('barcode scanned:' + barcodeData.text);
}, function(error) {
alert('Error')
console.log(error);
// An error occurred
});
};
});