.native 修饰的是事件的触发方式,如果是使用了 .native 修饰符的事件,则没有手动 emit 的事件(比如 button 的 click事件)也可以监听到
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="vue2.js"></script>
</head>
<body>
<div id="app">
<!-- 点击一下按钮是没有反应的,因为组件内部没有 emit click 事件 -->
<cpn @click="haha"></cpn>
<!-- 点击一下按钮是没有反应的,因为组件的根元素上面触发了原生的click事件,不需要手动 emit -->
<cpn @click.native="haha"></cpn>
</div>
<script>
Vue.component('cpn', {
template: `<button>haha</button>`
});
let app = new Vue({
el: '#app',
methods: {
haha() {
console.log('haha')
}
},
})
</script>
</body>
</html>
网友评论