Javascript 使用材质步进器识别脚本中的步骤错误

Javascript 使用材质步进器识别脚本中的步骤错误,javascript,Javascript,我正在使用材质步进器开发一个小型AngularJS应用程序 我必须从页面的两个部分中选择项目,只有当两个部分中的项目都属于id categoryID为1的类别时,才返回true 从A部分中选择项目已经更改了变量this.isTriggerB,该变量只有在从A部分中选择后才能更改: class Controller { constructor($mdStepper) { this.isTriggerA = false; this.isTriggerB = false;

我正在使用材质步进器开发一个小型AngularJS应用程序

我必须从页面的两个部分中选择项目,只有当两个部分中的项目都属于id categoryID为1的类别时,才返回true

从A部分中选择项目已经更改了变量this.isTriggerB,该变量只有在从A部分中选择后才能更改:

class Controller {
  constructor($mdStepper) {

    this.isTriggerA = false;
    this.isTriggerB = false;
    this.clickedStepNumber = 0;

    getCurrentStep() {
      this.steppers = this.$mdStepper('stepper');
      const steps = this.steppers.steps;
      steps.forEach((el, index) => {
        let step = this.steppers.steps[index];
        if (step.isClicked()) {
          this.clickedStepNumber = step.stepNumber;
        }
      });
    }

    checkCategory() {
      this.getCurrentStep();
      if (this.filter.provider) {
        let categoryID = parseInt(this.filter.category.id, 10);

        console.log('Cid: ' + categoryID);

        if (categoryID !== 1) {
          this.isTestPassed = false;
        } else {
          if (parseInt(this.clickedStepNumber, 10 === 1)) {
            this.isTriggerA = true;
            console.log('Step: ' + this.clickedStepNumber);
            console.log("A1: " + this.isTriggerA);
            console.log("B1: " + this.isTriggerB);
          }

          if (parseInt(this.clickedStepNumber, 10 === 2)) {
            this.isTriggerB = true;
            console.log('Step: ' + this.clickedStepNumber);
            console.log("A2: " + this.isTriggerA);
            console.log("B2: " + this.isTriggerB);
          }

          if (this.isTriggerA === true && this.isTriggerB === true) {
            this.isTestPassed = true;
          } else {
            this.isTestPassed = false;
          }
        }
      }
    }
  }

如果脚本正在执行,它甚至不应该进入内部。 这两个病例的治疗步骤应该有所不同

我做错了什么?

移动香蕉:

    if (categoryID !== 1) {
      this.isTestPassed = false;
    } else {
      ̶i̶f̶ ̶(̶p̶a̶r̶s̶e̶I̶n̶t̶(̶t̶h̶i̶s̶.̶c̶l̶i̶c̶k̶e̶d̶S̶t̶e̶p̶N̶u̶m̶b̶e̶r̶,̶ ̶1̶0̶ ̶=̶=̶=̶ ̶1̶)̶)̶ ̶{̶
      if (parseInt(this.clickedStepNumber, 10) === 1) {
        this.isTriggerA = true;
        console.log('Step: ' + this.clickedStepNumber);
        console.log("A1: " + this.isTriggerA);
        console.log("B1: " + this.isTriggerB);
      }

      ̶i̶f̶ ̶(̶p̶a̶r̶s̶e̶I̶n̶t̶(̶t̶h̶i̶s̶.̶c̶l̶i̶c̶k̶e̶d̶S̶t̶e̶p̶N̶u̶m̶b̶e̶r̶,̶ ̶1̶0̶ ̶=̶=̶=̶ ̶2̶)̶)̶ ̶{̶
      if (parseInt(this.clickedStepNumber, 10) === 2) {
        this.isTriggerB= true;
        console.log('Step: ' + this.clickedStepNumber);
        console.log("A2: " + this.isTriggerA);
        console.log("B2: " + this.isTriggerB);
      }

我真该亲眼看看现在我看到了一个问题:第二个块步骤中的if不记得第一个块中if返回的值。它返回到构造函数顶部的值。我怎样才能解决这个问题?请给我一个答案。谢谢