首頁  >  問答  >  主體

點擊div時,跳到在data中定義的url的Vue方法

我的陣列中有這種物件:

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

在 div 點擊時,我想要將 window.location.href 指向 url,但我似乎無法從資料中取得 url 到我的方法。

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

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

有人有建議嗎?

P粉426780515P粉426780515332 天前533

全部回覆(2)我來回復

  • P粉399090746

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

    接受的答案有效,但會重新整理頁面。在 SPA 框架中,我們盡量避免刷新頁面,因此正確答案是:

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

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

    回覆
    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;
    }

    回覆
    0
  • 取消回覆