如何更好的获取组件中的数据?
How to get data in component better?
在组件内部使用服务:
ngOnInit() {
this.layer = this.layerService.getObject(semantic);
}
或使用 @Input()
并从父级传递数据:
@Input() layers: any[] = [];
组件是否应该控制 DOM,例如 show/hide DOM 元素,或者一切都应该在服务中?
那里有很多数据,我对使用大量 Inputs() 感到困惑
服务应处理应用程序的所有逻辑控制。该组件应该是一个可重用的元素,用于 show/manipulate DOM。在这种情况下,你所做的是正确的。服务正在传递数据并通过组件,您正在操纵它们以在 dom 上显示。
另一种方法是使用 get
属性 获取 layerService.getObject(semantic);
以便每次服务更改其逻辑时,组件也会更新。
public layers(): any[] {
return this.layerService.getObject(semantic);
}
在组件内部使用服务:
ngOnInit() {
this.layer = this.layerService.getObject(semantic);
}
或使用 @Input()
并从父级传递数据:
@Input() layers: any[] = [];
组件是否应该控制 DOM,例如 show/hide DOM 元素,或者一切都应该在服务中?
那里有很多数据,我对使用大量 Inputs() 感到困惑
服务应处理应用程序的所有逻辑控制。该组件应该是一个可重用的元素,用于 show/manipulate DOM。在这种情况下,你所做的是正确的。服务正在传递数据并通过组件,您正在操纵它们以在 dom 上显示。
另一种方法是使用 get
属性 获取 layerService.getObject(semantic);
以便每次服务更改其逻辑时,组件也会更新。
public layers(): any[] {
return this.layerService.getObject(semantic);
}