vue.js - 如何从Vue中动态添加的元素调用方法
问题描述
在 Vue 中是否可以在 DOM 中插入一个新元素并从中调用一个方法,如下所示?以下不起作用“什么都没有发生”。
Popup() {
const confirm = `
<div>
<div>Are you sure?</div>
<div>
<button @click="cancel" >CANCEL</button>
<button @click="delete" >DELETE</button>
</div>
</div>
`
let div = document.createElement('div')
div.innerHTML = confirm
document.body.append(div)
},
delete() {
console.log('deleted')
}
如果不是在 Vue 中完成类似事情的方法是什么?
解决方案
不,我们不会在 VueJS 中这样做。对于这种情况,我会使用 v-if / v-show 来实现这一点。
<div v-if="isConfirm">
<div>Are you sure?</div>
<div>
<button @click="cancel" >CANCEL</button>
<button @click="delete" >DELETE</button>
</div>
</div>
稍后在您的数据中
data(){
return {
isConfirm: false
}
},
method:{
Popup(){
this.isConfirm = true;
}
}
推荐阅读
- python - 如何替换熊猫数据框中的值
- windows - 我的批处理代码做错了什么?
- c++ - 如何让用户选择打开什么文件?
- visual-studio-code - Ncurses.h ( (.text+0xd): undefined reference to `initscr') 可视化代码 Ubuntu
- swift - 无法动态引用视图控制器的名称
- c# - C# 服务从 IB 网关接口绘制数据。第一个每日酒吧失败
- python-3.x - 为什么异常处理不打印文本?
- javascript - 使用表单处理多个动态生成的模态
- c# - 实体框架 (EF) 和 .Net 6 Blazor 未更新数据库
- protocol-buffers - 在 proto3 中定义必填字段