Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 停止事件侦听器在Vue中列出子元素_Vue.js - Fatal编程技术网

Vue.js 停止事件侦听器在Vue中列出子元素

Vue.js 停止事件侦听器在Vue中列出子元素,vue.js,Vue.js,我正在Vue中创建一个模式,我希望在用户单击内部模式容器外部时能够关闭该模式。问题是,当我在单击时将事件侦听器添加到父元素时,所有子元素也会在单击时触发该事件侦听器 我在下面创建了一个简单的演示来演示我的问题。如果用户单击父元素的黑色部分,模态应该关闭,但是子元素包含的空白应该不能触发关闭功能 newvue({ el:'模态', 数据:{ 主动:对, }, 方法:{ closeModal(){ this.active=false } } }) .modal{ 显示:无; 位置:固定; 排名:0

我正在Vue中创建一个模式,我希望在用户单击内部模式容器外部时能够关闭该模式。问题是,当我在单击时将事件侦听器添加到父元素时,所有子元素也会在单击时触发该事件侦听器

我在下面创建了一个简单的演示来演示我的问题。如果用户单击父元素的黑色部分,模态应该关闭,但是子元素包含的空白应该不能触发关闭功能

newvue({
el:'模态',
数据:{
主动:对,
},
方法:{
closeModal(){
this.active=false
}
}
})
.modal{
显示:无;
位置:固定;
排名:0;
左:0;
底部:0;
右:0;
证明内容:中心;
对齐项目:居中;
背景色:黑色;
}
.modal.active{
显示器:flex;
}
.模态内容{
宽度:200px;
高度:200px;
填充:1rem;
背景色:白色;
}

此子元素应无法在单击时关闭模态。

我赞同kimy82的回答。使用。代码段已更新

newvue({
el:'模态',
数据:{
主动:对,
},
方法:{
关闭模式(事件){
this.active=false
}
}
})
.modal{
显示:无;
位置:固定;
排名:0;
左:0;
底部:0;
右:0;
证明内容:中心;
对齐项目:居中;
背景色:黑色;
}
.modal.active{
显示器:flex;
}
.模态内容{
宽度:200px;
高度:200px;
填充:1rem;
背景色:白色;
}

此子元素应无法在单击时关闭模态。

我赞同kimy82的回答。使用。代码段已更新

newvue({
el:'模态',
数据:{
主动:对,
},
方法:{
关闭模式(事件){
this.active=false
}
}
})
.modal{
显示:无;
位置:固定;
排名:0;
左:0;
底部:0;
右:0;
证明内容:中心;
对齐项目:居中;
背景色:黑色;
}
.modal.active{
显示器:flex;
}
.模态内容{
宽度:200px;
高度:200px;
填充:1rem;
背景色:白色;
}

此子元素应无法在单击时关闭模态。

单击事件处理程序有事件修饰符


单击事件处理程序有事件修饰符


您可以试试 v-on:click.self=。。。 仅当目标元素为自身时才应触发。 希望对您有所帮助

您可以尝试一下 v-on:click.self=。。。 仅当目标元素为自身时才应触发。
希望这有帮助

很酷,谢谢大家。我最初尝试了事件修饰符,但我没有正确使用它们。很酷,谢谢大家。我最初尝试了事件修饰符,但使用不正确。
<!-- modifiers can be chained -->
<a v-on:click.stop.prevent="doThat"></a>