角度最佳实践:将数据作为输入或使用查询参数传递

问题描述 投票:0回答:1

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

  • 使用@Input()
  • 通过从url中提取查询参数(因为我想在url中保存输入数据)

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

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

将Router服务注入组件或仅利用Angular本机@Input是否合适?我必须用更晚的代码(@Input)编写更多代码。

angular angular-router
1个回答
0
投票

将路由器服务注入组件是否合适?

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

不要因为包含太多输入而使组件过于复杂,您可以从服务中轻松获取这些输入。

但这并不意味着你可以鲁莽地使用服务。你需要保持平衡。

© www.soinside.com 2019 - 2024. All rights reserved.