Heim > Fragen und Antworten > Hauptteil
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粉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; }