Tengo una aplicación de escáner de código de barras basada en un registrador de teclado simple y algunos datos de vue que me gustaría abordar de manera adecuada. Por favor, eche un vistazo a la siguiente muestra simplificada (de trabajo). ¿Existe una mejor manera de acceder a la matriz del packageA que hacer var obj = this; para abordar mi instancia de vue en lugar de documento?
export default { name: "xxx", data() { return { packageA: [] }; }, created: function () { var obj = this; document.addEventListener('keyup', function (e) { obj.packageA.push(e.key) }); } }¿Cuál sería una forma adecuada de hacer esto?
Puedes usar la función de flecha:
new Vue({ el: "#demo", data() { return { packageA: [] }; }, created() { document.addEventListener('keyup', (e) => { this.packageA.push(e.key) }); } }) <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script> <div id="demo"> {{ packageA }} </div>