Klicken Sie auf li, um den HTML-Wert des aktuell angeklickten li zu erhalten;
<body>
<p id="page">
<ul>
<li v-on:click="aa(this)" v-for="item in items">{{item}}</li>
</ul>
</p>
<script type="text/javascript">
new Vue({
el: '#page',
data: {
items:[11,22,33,44]
},
methods:{
aa:function(obj){
console.log(obj); //打印出來(lái)的是 window對(duì)象?
alert(obj.html()); //找不到點(diǎn)擊的值;
}
}
})
</script>
</body>
Das nach dem Klicken auf li übergebene Objekt wird als Fensterobjekt und nicht als Li-Objekt gedruckt. Daher kann das Objekt nicht gefunden werden. Wie kann das aktuelle Li-Objekt an js übergeben werden?
看文檔的時(shí)候看的仔細(xì)一點(diǎn)……不要臆想這些莫名其妙的用法。
內(nèi)聯(lián)事件需要訪問(wèn)原始事件對(duì)象的時(shí)候,給里面加上$event
參數(shù)就行了。像這樣:
<li v-on:click="aa($event)" v-for="item in items">{{item}}</li>
你要拿到當(dāng)前li
標(biāo)簽的對(duì)象,讀取事件對(duì)象下的currentTarget
屬性就行了,即event.currentTarget
。
<li @click="aa(item)" v-for="item in items">{{item}}</li>
aa(item) {
console.log(item) // 當(dāng)前l(fā)i的內(nèi)容
}
給li加個(gè)ref屬性 然后在methods中通過(guò)this.$refs拿到dom節(jié)點(diǎn)
測(cè)試可行:
<li @click="aa($event)" v-for="item in items">{{item}}</li>
methods:{
aa:function(event){
console.log(event.target.innerHTML);
}
}