javascript - 如何在 Vue JS 中切换内容,将字符串传递给数据
问题描述
我正在尝试一个简单的切换功能,它需要一分钟才能在 vanilla js 中创建,但不知何故我在 vue 中陷入了困境。如何解决以下问题,传递一个应该是需要访问的已创建 var 的字符串。
<div @click="showData('data1')">click</div>
<div @click="showData('data2')">click</div>
<div @click="showData('data3')">click</div>
<div v-show="data1">Show data 1</div>
<div v-show="data2">Show data 2</div>
<div v-show="data3">Show data 3</div>
data() {
data1 : false,
data2 : false,
data3 : false
}
showData(curData) {
this.data1 = false;
this.data2 = false;
this.data3 = false;
this.[curData] = !this.[curData];
}
解决方案
您的代码有 2 个问题。首先是这一行this.[curData] = !this.curData;
,其中获取传递的数据变量的语法错误也会this.curData
给出未定义的错误,因为 curData 变量不存在。其次是将所有值重置为 false 而不保存当前单击元素的值以进行切换。尝试以下
showData(curData) {
const value = !this[curData];
this.data1 = false;
this.data2 = false;
this.data3 = false;
this[curData] = value;
}
推荐阅读
- javascript - 检测机器人帐户是否离线/在线
- r - 将标题与 navbarPage 中的 tabPanel 分开
- javascript - 在 javascript 中使用 async/await 和/或 promise 混合异步和同步工作
- c# - C# 从 Enum 动态实例化 Type
- ios - 你如何删除 iOS 模拟器标签?
- c++ - 在 C++ 中将数组元素解包为多个变量的规则是什么?
- sql-server - #flutter dart 连接到 ODBC 驱动程序问题
- angular - 在构建应用程序时,我们应该在 API 请求中使用 http 还是 https?
- python - PyQt:QWhatsThis,显示带有图像的 HTML 页面
- javascript - 使用 Javascript 我如何将这个对象数组解构并重建为 json 对象