如何将 [(ngModel)] 与在组件之后初始化的值一起使用
How to use [(ngModel)] with a value that gets initialized after the component
我有一个名为 'x' 的变量,它等待 promise 解析以进行初始化。我还想在 component.html 和
中使用 'x'
<input [(ngModel)]='x' />
但是因为一开始这个值是未定义的,所以我得到了这个错误
无法读取未定义的 属性 'x'。
有没有办法在输入字段中使用它??
发生这种情况是因为您没有初始化变量。您可以在组件中执行此操作,也可以使用 *ngIf
以便输入只有在获得值后才会激活。
<div *ngIf="x">
<input [(ngModel)]="x"/>
</div>
如果要绑定的值是未定义对象中的字段,也可以使用elvis运算符?
.
<input [ngModel]="object?.x" (ngModelChange)="object.x=$event"/>
1.Initialize 变量一开始为空
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
x : any = '';
}
2.Toggle promise resolve 的装载机
this.loader = true;
performFakeCall().then(function(result) {
this.loader = false;
//...
});
3.Show 在 UI 上加载,直到 promise 得到解决
<div *ngIf="loader == false">
<input [(ngModel)]="x"/>
</div>
<div class="css-loader" *ngIf="loader == true">
//...show loader
</div>
我有一个名为 'x' 的变量,它等待 promise 解析以进行初始化。我还想在 component.html 和
中使用 'x'<input [(ngModel)]='x' />
但是因为一开始这个值是未定义的,所以我得到了这个错误 无法读取未定义的 属性 'x'。
有没有办法在输入字段中使用它??
发生这种情况是因为您没有初始化变量。您可以在组件中执行此操作,也可以使用 *ngIf
以便输入只有在获得值后才会激活。
<div *ngIf="x">
<input [(ngModel)]="x"/>
</div>
如果要绑定的值是未定义对象中的字段,也可以使用elvis运算符?
.
<input [ngModel]="object?.x" (ngModelChange)="object.x=$event"/>
1.Initialize 变量一开始为空
import { Component } from '@angular/core';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
x : any = '';
}
2.Toggle promise resolve 的装载机
this.loader = true;
performFakeCall().then(function(result) {
this.loader = false;
//...
});
3.Show 在 UI 上加载,直到 promise 得到解决
<div *ngIf="loader == false">
<input [(ngModel)]="x"/>
</div>
<div class="css-loader" *ngIf="loader == true">
//...show loader
</div>