有这么一个需求,
假如有一个div
元素,点击他的时候他要触发他的点击事件之后再隐藏
如果点击了别的地方,那么他也要隐藏
需要用vue实现,大家有什么好的想法
有这么一个需求,
假如有一个div
元素,点击他的时候他要触发他的点击事件之后再隐藏
如果点击了别的地方,那么他也要隐藏
需要用vue实现,大家有什么好的想法
我猜测你大概是想实现个模态框吧。
<body>
<div id="app">
<div @click="btnShow = false" style="width: 100vw;height: 100vh; background-color: rgba(100,100,100,0.2);" v-show="btnShow">
<button @click.stop="doAndThenHide">点击</button>
</div>
</div>
<script>
let app = new Vue({
el: '#app',
data: {
btnShow: true
},
methods: {
doAndThenHide (ev){
console.log(ev.target.nodeName);
this.btnShow = false;
}
}
})
</script>
我自己有个想法大概如下思路:
<body>
<div id="app">
<div @click="isShow = false" style="padding:100px;background:#ededed;" class="other">
{{text}} <!-- 这是外部内容区域 -->
<button @click.stop="doHide" v-show="isShow" class="self">点击<!-- 这是可点击区域 --></button>
</div>
</div>
</body>
<script>
let app = new Vue({
el: '#app',
data: {
isShow: true,
text:""
},
methods: {
doHide (e){
this.text = "测试下"
this.isShow = false;
}
}
})
</script>
9 回答3.3k 阅读
4 回答1.9k 阅读
6 回答962 阅读✓ 已解决
5 回答909 阅读✓ 已解决
4 回答647 阅读✓ 已解决
5 回答1k 阅读
3 回答776 阅读✓ 已解决