我有下面的html和ts代码-当我调试打字稿代码时,我没有在参数中获取任何值,这是因为在传递值时未进行后端调用,因此它发送未定义的值。我该如何延迟html调用以获取值?
html文件:
<button (click)="test()">
<component [param]="param"></component>
</button>
ts文件:
@Input param: any;
test() {
this.service.getData()
.subscribe((val) => {
this.param = val;
});
}
答案 0 :(得分:0)
一种方法是在组件上放置*ngIf
并仅在param
变为真实时显示。
<button (click)="test()">
<component *ngIf="!!param" [param]="param"></component>
</button>
另一种方法是传递默认值,直到param
变为真为止;
<button (click)="test()">
<component [param]="param ? param : 'hello world'"></component>
</button>
我们默认传递hello world
,但您可以随意传递。