javascript - 如何等待按钮点击与 Vue.js 进行交互内容?
问题描述
我想等待用户点击来制作交互内容。
下面的代码是 vanilla js 的示例。
但是使用 Vue.js,我不能动态地将事件监听器添加到特定的 dom 元素。
那么,我怎样才能用 Vue.js 做到这一点呢?
async mainTask(){
//something...
showText.innerText += "please input value and then click ok button.\n";
const input = await waitInput();
//...
}
async function waitInput() {
return new Promise(resolve => {
okButton.addEventListener("click",() => {
const text = someinput.value;
resolve();
}, { once:true });
});
}
解决方案
如果您想在用户单击按钮后从输入中获取价值。在你的 Vue
<template>
<input v-modle="valueYouWant" />
<button @click="getValueAndDoSth">
</template>
<script>
// ... common vue script header
getValueandDoSth(){
// return this.valueYouWant
}
</script>
// 根据您的评论编辑如果您想在页面加载后立即运行某些功能,您可以
mounted
在Vue 组件的函数中运行一个函数- 一旦用户单击按钮,获取值并运行要运行的左侧代码
我不确定'你想运行一个函数并等待用户点击按钮然后向左运行',如果用户没有点击按钮,你的函数无论如何都会停止。
推荐阅读
- java - Vaadin Flow 14 中同一视图类的多条路由
- firebase - Firebase 函数:是否可以阻止默认日志“函数执行已启动”和“函数执行已...”
- slider - 可从滑块调节的嵌套循环
- reactjs - 在 ReactJS 中使用嵌套的有状态表单
- apache-iotdb - Apache IoTDB 升级到 0.13 后无法重启
- python - np.dtype 和 np.dtype.name 之间的区别
- javascript - 如何替换 chrome 扩展中的弹出窗口?
- sql-server - 如何使用 SQL Query 在 SQL Server 中的表级别进行镜像或复制
- laravel - Yajra Datatable 和 Laravel-breeze,可能是 csrf_token 问题
- ios - 如何在 Swift 中获取上个月的开始日期和结束日期