gpt4 book ai didi

angular - QuaggaJS 与 Angular 2 的问题

转载 作者:行者123 更新时间:2023-12-02 02:07:36 24 4
gpt4 key购买 nike

我正在尝试将 QuaggaJS 与 Angular 2 一起使用。我的应用程序文件夹中有 quagga.d.ts 文件,组件中有以下导入语句:

import Quagga from './quagga.d';

指南说来自“quagga”,但它不起作用,但上面有效

declare const Quagga = require('quagga').default;

我在组件的构造函数中有以下代码,如下所示:

constructor() { 

Quagga.init({
inputStream : {
name : "Live",
type : "LiveStream",
target: document.querySelector('#yourElement') // Or '#yourElement' (optional)
},
decoder : {
readers : ["code_128_reader"]
}
}, function(err) {
if (err) {
console.log(err);
return
}
console.log("Initialization finished. Ready to start");
Quagga.start();
});


}

但是,我收到以下错误:

未捕获( promise 中):错误:错误:0:0 导致:无法从 core.umd.js 读取未定义的属性“init”

 Uncaught (in promise): Error: Error in :0:0 caused by: Cannot read property 'init' of undefined
TypeError: Cannot read property 'init' of undefined

来自 zone.js

这个错误是什么意思?我想不通这个! zone.js 有错误吗?

任何帮助将不胜感激!

最佳答案

要将 Quagga 添加到 node_modules 运行

npm install quagga --save

照常在 index.html 中添加 jscss 依赖项例如

<script src="node_modules/....../qugga.min.js"></script>

app.component.ts

import { Component, OnInit } from '@angular/core';
declare var Quagga:any;
@Component({
selector: 'app-root',
template: `<router-outlet></router-outlet>`
})
export class AppComponent implements OnInit {
ngOnInit() {
Quagga.init({
inputStream : {
name : "Live",
type : "LiveStream",
target: document.querySelector('#yourElement') // Or '#yourElement' (optional)
},
decoder : {
readers : ["code_128_reader"]
}
}, function(err) {
if (err) {
console.log(err);
return
}
console.log("Initialization finished. Ready to start");
Quagga.start();
});
}

}

使用ngOnInit而不是构造函数。虽然构造函数仅实例化组件,但 ngOnInit 将在组件加载后调用。

另外,请看一下 https://github.com/serratus/quaggaJS/issues/146如需下一步您需要的其他帮助。

关于angular - QuaggaJS 与 Angular 2 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42555644/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com