无法将值从组件传递到模板

Unable to pass value from component to template

我在我的组件 export class MyComponent 上方定义了一个变量 MIN_PW,尽管智能感知在我的 formBuilder 中识别了它,但它没有出现在 UI 中正确(UI 显示“密码必须至少包含字符”)。

最初我在 export class 中定义了变量并且它 工作,但我被建议用 const 设置它并将它移到上面组件。

组件文件:

const MIN_PW = 12;

export class MyComponent implements OnInit {

  myFormGroup = this.formBuilder.group({
      password: new FormControl(null, [Validators.required, Validators.minLength(MIN_PW)]),
      // etc
  )

}

模板文件:

<mat-form-field class="password-field">
<mat-error *ngIf="myFormGroup.controls['password'].invalid">Password must contain at least {{MIN_PW}} characters.</mat-error>
</mat-form-field>

我建议在一个单独的文件中声明所有常量,您可以将其导入任何需要的地方。

对我来说,以下方法似乎更适合您的情况:

  1. 在一个或多个 TS 文件中定义和导出常量。
  2. 使用 import { MY_CONSTANT } from '../constants/my-constant.ts' 导入常量;在任何需要它们的地方。
  3. 使用它们并快乐。