<!DOCTYPE html>
<div id ="messageHome">
<button @click="warn('Form cannot be submitted yet.',$event)">Submit</button>
</div>
</html>
<script src="https://unpkg.com/vue@next"></script>
<script>
const app = Vue.createApp({
methods:{
warn(message, event) {
if (event) {
event.preventDefault()
}
alert(message)
}
}
})
app.mount('#messageHome')
</script>
内联语句处理器中访问原始的 DOM 事件。可以用特殊变量 $event 把它传入方法。
preventDefault() 方法到底是一个什么方法。
<div id="event-with-method">
<!-- `greet` 是在下面定义的方法名 -->
<button @click="greet">Greet</button>
</div>
Vue.createApp({
data() {
return {
name: 'Vue.js'
}
},
methods: {
greet(event) {
// `methods` 内部的 `this` 指向当前活动实例
alert('Hello ' + this.name + '!')
// `event` 是原生 DOM event
if (event) {
alert(event.target.tagName)
}
}
}
}).mount('#event-with-method')