无法将值从组件传递到模板
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>
我建议在一个单独的文件中声明所有常量,您可以将其导入任何需要的地方。
对我来说,以下方法似乎更适合您的情况:
- 在一个或多个 TS 文件中定义和导出常量。
- 使用 import { MY_CONSTANT } from '../constants/my-constant.ts' 导入常量;在任何需要它们的地方。
- 使用它们并快乐。
我在我的组件 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>
我建议在一个单独的文件中声明所有常量,您可以将其导入任何需要的地方。
对我来说,以下方法似乎更适合您的情况:
- 在一个或多个 TS 文件中定义和导出常量。
- 使用 import { MY_CONSTANT } from '../constants/my-constant.ts' 导入常量;在任何需要它们的地方。
- 使用它们并快乐。