前提・実現したいこと
キーエンス製のハンディの開発を行っています。
SPA的なアプリを開発したくVueで行っています。
理由は後述しますが、Vueにてグローバルな関数を作成したいです。
発生している問題・エラーメッセージ
キーエンスの公式のドキュメントです。
setReadCallback
に任意の関数名をString
で記述すると任意の関数を実行してくれるらしいです。憶測ですが、たぶんグローバルに宣言している関数しか実行してくれないらしいです。
setReadCallback
の中身です。
JS
1const setReadCallback = c => { return _scanManager.setReadCallback(c) };
これを何とかVueで実行したいのですが、どうすればいいのかがわかりません。
Vueのmethod
に任意の記述したところでスコープはグローバルではないので意味ないので、ダメでした。
試したこと
専用のライブラリがあるのですが、こちらはバニラJS(ES5)で書かれていたので、自分で、ES6に書き直しています。
途中、ハンディ専用ブラウザに、専用の変数_scanManager
があり、こちらを除いたのですが、、、
JS
1function {[native code]}
となってしまい、中身を見て対応することはできませんでした。
何かいい方法があれば教えていただけると幸いです。
追記
JS
1import scan from "@/library/scan.js"; 2 3export default { 4 data: () => ({ 5 result: "", 6 }), 7 created() { 8 scan.setReadCallback("resultCallback"); 9 }, 10 methods: { 11 resultCallback(result) { 12 this.result = result; 13 }, 14 }, 15};
回答1件
あなたの回答
tips
プレビュー