我的陣列中有這種物件:
{ 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粉3990907462023-10-24 11:39:47
接受的答案有效,但會重新整理頁面。在 SPA 框架中,我們盡量避免刷新頁面,因此正確答案是:
Vue:this.$router.push(person.url)
Nuxt:this.$router.push({ name: 'routename' })
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; }