IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 关于Vue的自身触发【html,self】 -> 正文阅读

[JavaScript知识库]关于Vue的自身触发【html,self】

前面我们已经知道了两种事件的传递方式(事件冒泡事件捕获
这两种方式都会让事件在父子组件中触发(stop同样触发了,只是阻止了),那有没有一种事件可以只针对于某一个元素
答案是有!——那就是self
示例代码

<!DOCTYPE html>
<html lang='zh_cn'>

<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'>
    <title>Vue 学习self</title>
    <script src='https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js'></script>
    <style>
        .div1 {
            width: 80px;
            height: 80px;
            background-color: #aaa;
            margin: 5px;
        }
        .div2{
            width: 50px;
            height: 50px;
            background-color: #ccc;
        }
    </style>
</head>

<body>
    <div id='app'>
        <div class="div1" @click.self="doParent">
            a
            <div class="div2" @click="doThis">b</div>
        </div>

        <div class="div1" @click="doParent">
            c
            <div class="div2" @click="doThis">d</div>
        </div>

    </div>

    <script>
        var vm = new Vue({
            el: '#app',
            data: {

            },
            methods: {
                doParent() {
                    console.log("这是父元素的方法");
                },
                doThis() {
                    console.log('这是子元素的方法');
                }
            },
        })
    </script>

</body>

</html>

现在这里,我创建了4个div

为方便演示,都设置有背景色

第一个div添加了一个关键词self,下面两个则是没有,我们来看结果
示例结果
请添加图片描述
我们发现添加了self关键字的在点击子元素b的时候并没有触发到父元素a的方法。
而下面正常的则是事件冒泡
也就是说,添加了self的关键字后,只有点击自身能触发,并不包括其所有的子元素
总结
这为我们了解事件之前的相互传递和关系有了更深一层的理解,在父元素添加关键词self后,所有的子元素都不会冒泡至父元素的事件中去,因为父元素只对自身事件的触发进行响应,而且不包括有在显示中有实际依存关系的子元素

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-03-13 21:41:13  更:2022-03-13 21:43:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:03:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码