vue判断当前是否处在dialog对话框中

业务逻辑在使用封装的表格时,会触发自己写的一个进度条方法,但是现在在diaolog对话框里的组件不使用这个方法。

使用vue里的this.$el获取当前的标签元素,再使用原生获取父元素的方法parentNode来判断父元素是否存在class为dialog的标签,有的话返回true,没有返回false

//进度条方法
 async scroll() {
            // 判断是否是存在dialog中
            await this.isDialog(this.$el);
            if (this.isdialog) {
                return;
            }
        }

设置全局字段用来存放false或者true

 data() {
return {
    isdialog: false,
  }
}

递归判断是否存在名称为el-dialog的标签


isDialog(data) {
            if (data.parentNode) {
                if (data.getAttribute('class') == 'el-dialog') {
                    this.isdialog = true;
                    return;
                }
                this.isDialog(data.parentNode);
            } else {
                this.isdialog = false;
                return;
            }
        },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值