Recibo un error al hacer referencia a datos () en la exportación. Dice que la propiedad no existe. ¿Qué estoy haciendo mal? VueJS versión 2.
Estos son datos:
<script lang="ts"> export default { data() : { item: Array<Number> key: Number keyy: Number } { return { item: [], key: 0, keyy: 0, }; },Aquí quiero hacer referencia a él en el mismo valor predeterminado de exportación:
methods: { async para(value: any){ this.key=value.target.value //Here i get error }, async paraa(value: any){ this.keyy = value.target.value //Here i get error }, async openChannels() { const randomArray = [0,2] this.item.push(randomArray[0]) //Here i get error } } } </script>El error que estoy recibiendo es:
La propiedad 'clave' no existe en el tipo '{ para(valor: cualquiera): Promesa; paraa(valor: cualquiera): Promesa; openChannels(): Promesa; }'
La propiedad 'keyy' no existe en el tipo '{ para(value: any): Promise; paraa(valor: cualquiera): Promesa; openChannels(): Promesa; }'
La propiedad 'elemento' no existe en el tipo '{ para(valor: cualquiera): Promesa; paraa(valor: cualquiera): Promesa; openChannels(): Promesa; }'
Gracias por la ayuda.
Ps: Mi extensión vetur no muestra ningún error. Los obtengo solo cuando compilo el código.
Si desea compatibilidad con TypeScript, debe usar defineComponent
import { defineComponent } from 'vue' export default defineComponent({ ... })Recomendaría Volar en lugar de Vetur.
También recomendaría definir los tipos más cerca de los valores reales:
data() { return { item: [] as Array<Number>, key: 0 as Number, keyy: 0 as Number, }; }, randomArray no está definido, probablemente te falte const o let
const randomArray = [0,2] // <-- Te falta un } al final
} } // <-- </script>Después de estas ediciones, su código debería funcionar: demostración en vivo