vue.js 中未显示模态
Modal not showing in vue.js
所以我有一个问题,我在 vanilla js 中制作了一个具有各种功能的地图应用程序。我现在正在尝试将所有这些代码翻译成 vue.js,这是一个缓慢的过程。我有一个模式,我想在单击按钮 "Add step" 时弹出,但它没有。我已阅读文档并查看示例,但我无法弄清楚。
正如我提到的,我尝试了在 Whosebug 和其他地方找到的各种示例。
我知道解决方案可能确实非常简单,但我卡住了,这个模式不会显示。有什么提示或技巧吗?使用vue需要注意什么?
这是我整个项目的 fiddle,它是有益的,https://jsfiddle.net/8Lmjrhgs/。
非常感谢您的宝贵时间!
这就是我的 vanilla.js 模式的样子
let btn = document.getElementById("myBtn");
let span = document.getElementsByClassName("close")[0];
btn.onclick = function() {
modal.style.display = "block";
};
span.onclick = function() {
modal.style.display = "none";
};
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
};```
注意:数据(){ return { ...
data() {
return {
showModal: false,
isEditing: false,
user: {
mapTitle: 'Add a title to your map',
mapDescription: 'Add a description to your map',
},
steps: [{title: "", description: ""}],
step: {title: "", description: ""}
}
},
不要把你的 v-show 放在 transition-group 上,直接放在 child 上,实际上点击也是如此,我也不会切换 "Close modal",因为你不 "Open modal" 至少我让那些处理方式相同。
<transition name="modal" :modalData='customData' @close='showModal = !showModal'>
<div class="modal-mask" v-show="showModal">
我认为这里的主要问题是您创建组件的方式,在这种特定情况下这是多余的,因为无论如何所有代码都在那里(但您的真实代码可能实际上是导入它,所以我不能说一定)
删除你的脚本标签得到了模态。
所以我有一个问题,我在 vanilla js 中制作了一个具有各种功能的地图应用程序。我现在正在尝试将所有这些代码翻译成 vue.js,这是一个缓慢的过程。我有一个模式,我想在单击按钮 "Add step" 时弹出,但它没有。我已阅读文档并查看示例,但我无法弄清楚。
正如我提到的,我尝试了在 Whosebug 和其他地方找到的各种示例。
我知道解决方案可能确实非常简单,但我卡住了,这个模式不会显示。有什么提示或技巧吗?使用vue需要注意什么? 这是我整个项目的 fiddle,它是有益的,https://jsfiddle.net/8Lmjrhgs/。 非常感谢您的宝贵时间!
这就是我的 vanilla.js 模式的样子
let btn = document.getElementById("myBtn");
let span = document.getElementsByClassName("close")[0];
btn.onclick = function() {
modal.style.display = "block";
};
span.onclick = function() {
modal.style.display = "none";
};
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
};```
注意:数据(){ return { ...
data() {
return {
showModal: false,
isEditing: false,
user: {
mapTitle: 'Add a title to your map',
mapDescription: 'Add a description to your map',
},
steps: [{title: "", description: ""}],
step: {title: "", description: ""}
}
},
不要把你的 v-show 放在 transition-group 上,直接放在 child 上,实际上点击也是如此,我也不会切换 "Close modal",因为你不 "Open modal" 至少我让那些处理方式相同。
<transition name="modal" :modalData='customData' @close='showModal = !showModal'>
<div class="modal-mask" v-show="showModal">
我认为这里的主要问题是您创建组件的方式,在这种特定情况下这是多余的,因为无论如何所有代码都在那里(但您的真实代码可能实际上是导入它,所以我不能说一定) 删除你的脚本标签得到了模态。