美文网首页
给组件绑定原生事件

给组件绑定原生事件

作者: 云凡的云凡 | 来源:发表于2020-10-11 21:52 被阅读0次
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>14给组件绑定原生事件</title>
    <script src="./vue.js"></script>
</head>

<body>
    <div id="app">
        <child @click="handleClick"></child>
    </div>
    <script>
        Vue.component('child', {
            template: '<div @click="handleChildClick">Child</div>',
            methods: {
                handleChildClick() {
                    alert('c c')  //可以打印出来:在div元素上绑定的事件指的是监听的原生的事件
                    this.$emit('click')
                }
            },
        })
        var vm = new Vue({
            el: "#app",
            methods: {
                handleClick() {
                    alert(' c')  //没法被打印:在child组件绑定的事件监听的是自定义事件,自定义事件怎么被触发?

                }
            },
        })
    </script>
</body>

</html>

简洁版

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>14给组件绑定原生事件</title>
    <script src="./vue.js"></script>
</head>

<body>
    <div id="app">
        <child @click.native="handleClick"></child>
    </div>
    <script>
        Vue.component('child', {
            template: '<div @click="handleChildClick">Child</div>',
        })
        var vm = new Vue({
            el: "#app",
            methods: {
                handleClick() {
                    alert(' c')
                    // 会打印:监听的已经不是内部组件向外触发的自定义事件了,而是原生的点击事件

                }
            },
        })
    </script>
</body>

</html>

相关文章

网友评论

      本文标题:给组件绑定原生事件

      本文链接:https://www.haomeiwen.com/subject/owpkpktx.html