cari

Rumah  >  Soal Jawab  >  teks badan

Apabila div diklik, lompat ke kaedah Vue bagi url yang ditakrifkan dalam data

Saya mempunyai objek jenis ini dalam tatasusunan saya:

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

Apabila div diklik, saya ingin menghalakan window.location.href ke url tetapi saya nampaknya tidak dapat memasukkan url daripada data ke dalam kaedah saya.

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

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

Ada sesiapa ada cadangan?

P粉426780515P粉426780515442 hari yang lalu607

membalas semua(2)saya akan balas

  • P粉399090746

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

    Jawapan yang diterima berfungsi tetapi menyegarkan halaman. Dalam rangka kerja SPA, kami cuba mengelak daripada menyegarkan halaman, jadi jawapan yang betul ialah:

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

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

    balas
    0
  • P粉086993788

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

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

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

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

    balas
    0
  • Batalbalas