Quiero hacer que las enumeraciones funcionen en el archivo vue.
Primero defino mis enumeraciones en un archivo js
const Status= Object.freeze({ Normal: "normal", Loading: "loading", Error: "error", Done: "done", }); export default Status;Mi archivo main.vue no puede compilar:
<template> <div v-if="status == AudioCardStatus.Normal"> </template> import Status from "./../enums/status"El error es
La propiedad o método "Estado" no está definido en la instancia, pero se hace referencia durante el procesamiento. Asegúrese de que esta propiedad sea reactiva, ya sea en la opción de datos o para componentes basados en clases, inicializando la propiedad.
Ya he visto otra pregunta SO similar, pero la solución parece ser usar Typescript.
Debe agregar ese objeto importado a la opción de datos para que esté disponible para la plantilla:
import Status from "./../enums/status" export default{ data(){ return{ status:Status } } }Primero, lo importa como Status pero lo usa como AudioCardStatus . También debe asignarlo a la propiedad en sus data .
En segundo lugar, debe importarlo dentro de una etiqueta de secuencia de script .
Tercero, no necesita el extra ./ esto es suficiente ../enums/status