Maison  >  Questions et réponses  >  le corps du texte

Lorsque vous cliquez sur le div, passez à la méthode Vue de l'url définie dans data

J'ai ce genre d'objet dans mon tableau :

{
  name: 'name1',
  url: 'http://url-1.tld'
},
{
  name: 'name2',
  url: 'http://url-2.tld'
}

Lorsque l'on clique sur le div, je souhaite pointer window.location.href vers url mais je n'arrive pas à obtenir l'URL des données dans ma méthode.

<div v-for="person in persons" v-on:click="select($event)"></div>

select: function(event) {
  window.location.href( ??? )
}

Quelqu'un a-t-il des suggestions ?

P粉426780515P粉426780515383 Il y a quelques jours574

répondre à tous(2)je répondrai

  • P粉399090746

    P粉3990907462023-10-24 11:39:47

    La réponse acceptée fonctionne mais actualise la page. Dans le framework SPA, nous essayons d'éviter de rafraîchir la page, donc la bonne réponse est :

    Vue :this.$router.push(person.url)

    Nuxt :this.$router.push({ name: 'routename' })

    répondre
    0
  • P粉086993788

    P粉0869937882023-10-24 11:37:54

    Vous devez person 作为参数传递给 select,而不是 $event :

    <div v-for="person in persons" v-on:click="select(person)"></div>

    select: function(person) {
      window.location.href = person.url;
    }

    répondre
    0
  • Annulerrépondre