从函数设置变量

时间:2018-11-14 09:14:27

标签: angular typescript

这可能是一个简单的问题/答案,但是我似乎无法绕开它: 我正在使用使用AbstractControl的函数来验证字段:

errorVar: boolean = false

function(c: AbstractControl): {[key: string]: string } | null {
 // validation if 'test' is true or not goes here
 if(test) {
  let errorMessageText: "test"
  return {'errorText': errorMessageText};
 }
return null;
}

除了errorText之外,我还希望函数也将变量errorVar设置为true,如果函数返回null,则将变量false设置为type TArray is array (Integer range <>) of Elem,Multi; type Bag (Max : Positive) is record Data : TArray (1 .. Max); Pointer : Natural := 0; end record;

2 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

  errorVar: boolean = false

  function(c: AbstractControl): { [key: string]: string } | null {
    // validation if 'test' is true or not goes here
    if (test) {
      this.errorVar = true;
      let errorMessageText:
        return { 'errorText': errorMessageText };
    }

    this.errorVar = false;
    return null;
  }

答案 1 :(得分:0)

我认为有几个问题

  • 您的errorVar应该使用varlet声明,以便您可以通过闭包在函数中进行设置
  • 您的errorMessageText变量必须使用=而非:设置

像这样:

var errorVar: boolean = false;

function(c: AbstractControl): {[key: string]: string } | null {
    // validation if 'test' is true or not goes here
    if(test) {
        errorVar = true;
        let errorMessageText: string ="test";
        return {'errorText': errorMessageText};
    }
    errorVar = false;
    return null;
}