Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何有效地将所需值从数据库加载到角度组件?_Angular_Performance - Fatal编程技术网

Angular 如何有效地将所需值从数据库加载到角度组件?

Angular 如何有效地将所需值从数据库加载到角度组件?,angular,performance,Angular,Performance,我正在寻找一种方法来填充角度组件上的数据。我必须在单个组件中加载几个下拉列表的数据。因此,最好是按需加载值,还是在绘制构件时首先加载值。或者是否有其他方法来实现这一点,以便我可以向用户显示渲染组件和数据的最小延迟 提前谢谢 ngOnInit() { this.loadAvalues(); this.loadBvalues(); this.loadCvalues(); this.loadDvalues(); this.loadEvalu

我正在寻找一种方法来填充角度组件上的数据。我必须在单个组件中加载几个下拉列表的数据。因此,最好是按需加载值,还是在绘制构件时首先加载值。或者是否有其他方法来实现这一点,以便我可以向用户显示渲染组件和数据的最小延迟

提前谢谢

ngOnInit() { 
      this.loadAvalues();
      this.loadBvalues();
      this.loadCvalues();
      this.loadDvalues();
      this.loadEvalues();
      this.loadFvalues();
}


触发操作时调用这些方法。

用于创建渲染数据的本地“缓存”;这在某种程度上取决于加载的数据量以及显示的内容。当您执行
获取时
是异步的,但在每次模型更改后将重新呈现;如果这是一个问题,那么这些都可以包装在一个
Promise.all([this.loadAValues…])


因为它是一个下拉列表,所以不需要任何加载时间,所以首先加载它是明智的。但是,没有必要立即获取数据,以便在完成渲染任何交互后加载数据。

用于创建渲染数据的本地“缓存”;这在某种程度上取决于加载的数据量以及显示的内容。当您执行
获取时
是异步的,但在每次模型更改后将重新呈现;如果这是一个问题,那么这些都可以包装在一个
Promise.all([this.loadAValues…])


因为它是一个下拉列表,所以不需要任何加载时间,所以首先加载它是明智的。但是,没有必要立即获取数据,以便在渲染完任何交互后加载数据。

您应该调用OnInit。由于这些是独立的调用,因此不会阻止要呈现的UI

您可以禁用下拉列表,直到加载数据或显示一些类似于下拉列表的加载消息,一旦数据出现,则使用实际数据呈现下拉列表

如果您点击下拉菜单打开它,那么它会向用户显示一些延迟,这可能不是很好的用户体验


即使缓存结果,在您第一次打开每个下拉列表时,用户也需要等待每个下拉列表的数据,但如果它们是独立的,则有可能是在用户打开第一个下拉列表时,此时可能会有其他调用得到解决并填充数据。

您应该在OnInit上启动调用。由于这些是独立的调用,因此不会阻止要呈现的UI

您可以禁用下拉列表,直到加载数据或显示一些类似于下拉列表的加载消息,一旦数据出现,则使用实际数据呈现下拉列表

如果您点击下拉菜单打开它,那么它会向用户显示一些延迟,这可能不是很好的用户体验

即使缓存结果,在您第一次打开每个下拉列表时,用户也需要等待每个下拉列表的数据,但如果它们是独立的,则可能是用户打开第一个下拉列表时,此时可能会解决其他调用并填充数据