我使用以下方法在 Angular 中绑定下拉列表,但我认为我犯了一些错误,因为有时我没有得到预期的行为:
演示服务.ts
getProducts(): Observable<ProductDto> { ... }
产品.组件.ts:
products: ProductDto[] = [];
ngOnInit(): void {
this.bindProducts();
}
bindProducts() {
this.demoService.getProducts()
.subscribe((list: ProductDto) => {
this.products = list;
});
//for testing purpose
const check = this.products;
}
test() {
this.bindProducts();
//for testing purpose
const test= this.products;
}
1.列表变量定义是否products: ProductDto[] = [];正确?或者我应该使用一些 Observable 参数来实现这一点?
2.我应该填充下拉列表而ngAfterViewInit()不是 吗ngOnInit()?为了更快地加载表格?
3.在上面的代码中,我使用了subscribe方法,但是在绑定列表时,我无法让上面的方法this.products填充test()。我认为这很可能是 subscribe 方法,但是我怎样才能让这个变量稍后填充而不是 onInit() 呢?我应该使用toPromise或其他东西吗?正确的方法是什么?
繁花如伊
相关分类