Necesito ayuda. En mi proyecto (Vue Nuxtjs), busco una palabra aleatoria que se genera en mi aplicación backend Laravel a través de la respuesta de API. Tengo que generar múltiples palabras aleatorias de un valor de cadena en los datos que obtengo de mi ruta axios.
esta es mi propiedad de datos.
data() { return { playWord: [], results: [], } }, Respuesta 
y axios
async fetch() { const { data } = await this.$axios.get(`words/${this.$route.params.play}/play`); this.playWord = data.word },He estado probando con Mounted , que me da solo un valor aleatorio.
mounted() { console.log(this.$route.params.play); var characters = 'watermelon'; var result = "" var charactersLength = characters.length; for (var i = 0; i < 7; i++) { result += characters.charAt(Math.floor(Math.random() * charactersLength)); } return this.results = result console.log(result) },y metodo
methods: { ply() { var characters = 'watermelon'; var result = "" var charactersLength = characters.length; for (var i = 0; i < i; i++) { result += characters.charAt(Math.floor(Math.random() * charactersLength)); } return this.result = ply }, },¿Cómo puedo ejecutar mi requerido?
Esto le dará 30 variantes (o menos, dependiendo del azar) de una sola baseWord
<template> <div> <pre>total words: {{ result.length }}</pre> <pre>actual list: {{ result }}</pre> </div> </template> <script> export default { data() { return { baseWord: 'orange', result: [], } }, mounted() { const randomVariants = [...Array(30)].map(() => this.baseWord .split('') .sort(() => 0.5 - Math.random()) .join('') ) const variantsWithoutInitialWord = randomVariants.filter( (word) => word !== this.baseWord // removes 'orange' if present ) this.result = [...new Set(variantsWithoutInitialWord)] // removing duplicates }, } </script>Como esto
Una cosa a tener en cuenta es no usar un aleatorio que esté disponible tanto en el servidor como en el cliente e insertarlo en el DOM, de lo contrario obtendrá una falta de coincidencia de DOM .