我正在使用离子框架构建cordova应用程序。该应用程序需要能够基于给定文本生成QRcode。我发现http://davidshimjs.github.io/qrcodejs/是一种解决方案。但我无法在我的离子应用程序中实现这一点。我需要一些这个任务的例子,由qrcodejs或任何其他库实现。谢谢!
答案 0 :(得分:6)
angular-qr和angular-qrcode都没有为我工作,所以我最终根据Shim Sangmin's QRCode generator library快速推出自己的指令:
<!-- index.html -->
<script src="lib/qrcode.js/qrcode.js"></script>
-
// directives.js
.directive('qrcode', function($interpolate) {
return {
restrict: 'E',
link: function($scope, $element, $attrs) {
var options = {
text: '',
width: 128,
height: 128,
colorDark: '#000000',
colorLight: '#ffffff',
correctLevel: 'H'
};
Object.keys(options).forEach(function(key) {
options[key] = $interpolate($attrs[key] || '')($scope) || options[key];
});
options.correctLevel = QRCode.CorrectLevel[options.correctLevel];
new QRCode($element[0], options);
}
};
});
然后像这样使用它:
<qrcode text="{{something.on.scope}}" color-bright="#ff0000"></qrcode>
<!-- or width, height, color-dark, correct-level -->
修改:在JSFiddle上查看。
答案 1 :(得分:0)
所以你需要的是一个角度模块,大多数时候你必须创建自己的指令,模块或角度代码来集成JavaScript插件。但有人已经这样做了,我会看看http://ngmodules.org/modules/angular-qr应该是你想要的。 请参阅演示:http://janantala.github.io/angular-qr/demo/
答案 2 :(得分:0)
我终于让angular-qrcode工作了。问题是,我应该在app.js中包含'monospaced.qrcode'作为模块依赖。在我的案例中,这是遗漏的。