vuejs方法中的无限循环

时间:2020-04-09 00:52:56

标签: javascript vue.js vuejs2

我正在尝试选择一个组件并取消选择,对此我具有以下功能,但是看起来该方法同时输入了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;
},

1 个答案:

答案 0 :(得分:0)

我通过将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";
          }
}
}
相关问题