首页 > 解决方案 > Angular 最佳实践:将数据作为输入传递或使用查询参数

问题描述

我正在设计一个应用程序,并且混淆将是一种更好的做法。我想根据从其他组件获得的输入发出 http 请求。因此,我有 2 种不同的方式将数据从一个组件发送到进行 API 调用的组件(通过服务)。

我不确定是在 ngOnChanges 生命周期挂钩 ( this._router.parseUrl(this._router.url).queryParams.fund1) 中使用路由器服务的 parseUrl 方法获取数据,还是仅使用 ngOnChanges 进行以下检查

if (changes['fund1'] &&
    changes['fund1'].currentValue &&
    changes['fund1'].previousValue !== changes['portIdFund1'].currentValue
  )

将路由器服务注入组件还是仅利用 Angular 本机 @Input 好?我必须用后者(@Input)编写更多代码。

标签: angularangular-router

解决方案


将Router服务注入组件好不好?

是的,这就是使用服务的方式/原因。

不要通过包含太多可以从服务中轻松获得的输入来过度复杂化您的组件。

但这并不意味着你可以肆无忌惮地使用服务。你需要保持平衡。


推荐阅读