Estoy recorriendo una serie de objetos que consisten en svg paths y locales y quiero ejecutar una función al cargar. La función tiene que tomar las locale keys de la matriz de paths como parámetro y hacer algo con ellas:
<p v-for="(country, locale) in paths" @load="myFunction(locale)">log {{locale}}</p> pero @load no hace nada. El mismo código funciona con la directiva @click :
<p v-for="(country, locale) in paths" @click="myFunction(locale)">log {{locale}}</p>Esta es la función:
const myFunction = (locale) => { console.log(locale) }¿Cómo hago para que funcione?
<p v-for="(country, locale) in paths">log {{myFunction(locale)}}</p> methods: { myFunction(locale) { // do something } }¿Resuelve tu pregunta?
esto parece que las directivas son las herramientas incorrectas para el trabajo. parece que tiene todas las variables relacionadas en una matriz de todos modos, entonces, ¿por qué no iterar a través de la matriz en ' mounted ? p.ej:
mounted() { this.paths.forEach((path) => { this.myFunction(path.locale); }) } esto también podría hacerse en el gancho created
Por cierto: no está utilizando directivas aquí, @click y @load son solo eventos y registra a los oyentes. el elemento activa clic sobre clic pero no activa el evento de carga, es por eso que no activa su función. tal vez entendiste mal lo que es una directiva