javascript - vuejs方法中的无限循环
问题描述
我正在尝试选择一个组件并取消选择,为此我具有以下功能,但看起来该方法正在输入 if 和 if-else,我尝试了 if 和 if-else 的各种组合,但它仍然是相同的。我应该使用 vuex 来设置数据吗?
getRowClass({ id, Status }) {
let rowClass = "list-row";
if (this.selectedId === id) {
if (this.selectedId != this.alreadyClicked) {
rowClass += " list-row--selected";
this.alreadyClicked = id;
alert("alreadyClicked "+this.alreadyClicked)
} else if (this.alreadyClicked!=0) {
rowClass += " list-row";
this.alreadyClicked = 0;
alert("alreadyCli "+this.alreadyClicked)
}
}
if (Status == "Ready") {
rowClass += " list-row--online";
} else {
rowClass += " list-row--offline";
}
return rowClass;
},
解决方案
我通过将 unSelectedId 变量添加到 Vuex 到中央状态管理来解决它
methods: {
...mapActions("stations", [
"selectAux",
"unSelectAux",
]),
togglePageMode(id) {
this.unSelectAux(id); // add unset id to vuex via this function
}
}
compute:{
getRowClass({...}){
if (this.unSelectedId === id && this.selectedId == 0) {
rowClass += " list-row";
} else if (this.selectedId != 0 && this.selectedId === id) {
rowClass += " list-row--selected";
}
}
}
推荐阅读
- xampp - MariaDB 通过终端看不到 mac 桌面文件
- python - 带注意的 Keras Seq2seq 双向 LSTM 中的损失没有减少
- django - Django CreateView 不适用于 TinyMCE 5
- python - 从python将值列表插入SQLite列
- python - 如何从 seaborn / matplotlib 图中删除或隐藏 x 轴标签
- firebase - 如何重定向到 next.js 中受限页面的登录页面?
- java - 将 JDK 更改为 11 后更新构建 Allure 报告的依赖项
- javascript - 如何使用 HTML 输入来提供 JavaScript 类
- python - 在 Python 中从 .txt 文件创建方阵
- unix - Unix:基于公共列连接多个具有多个值的列?