suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Wenn Sie auf das Div klicken, springen Sie zur Vue-Methode der in den Daten definierten URL

Ich habe diese Art von Objekt in meinem Array:

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

Wenn auf das Div geklickt wird, möchte ich window.location.href auf url verweisen, aber ich kann die URL scheinbar nicht aus den Daten in meine Methode übernehmen.

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

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

Hat jemand Vorschläge?

P粉426780515P粉426780515408 Tage vor585

Antworte allen(2)Ich werde antworten

  • P粉399090746

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

    接受的答案有效,但会刷新页面。在 SPA 框架中,我们尽量避免刷新页面,因此正确答案是:

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

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

    Antwort
    0
  • P粉086993788

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

    您需要将 person 作为参数传递给 select,而不是 $event

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

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

    Antwort
    0
  • StornierenAntwort