使用服务共享数据是否可以替换路由参数



我正在开发一个 Angular 应用程序,并在该应用程序中共享多个对象。这些对象必须同步,并沿所有组件保持当前状态。

因此,我创建了服务来使用 BehaviorSubject 处理每个对象及其更改,并在需要时订阅它。

但在某些情况下,我认为可以使用 Angular 路由器及其参数来实现,这使我投入更多时间将复杂对象作为查询参数传递。

今天我才意识到我从来没有在我的应用程序中使用过查询参数,而且我的 URL 太简单了,这是我从未见过的。

所以我的问题是,它是否可以,或者这会是我的应用程序的弱点吗?

在我看来,如果您真的希望在 url 中将数据作为路由的参数传递才有意义。如果用户可以保存 url,然后通过输入它才能仅使用它们出现在视图的相同状态中,则它们在路由中是正常的。

例如,如果您有一个博客应用程序并且您有路线

http://myblog-example/entry-cool?tags=cool;super_cool

如果标签参数(此处的标签)确实需要呈现页面,但如果它们是您将从数据库中检索的内容,请不要将它们放在路由中。然后,您应该使用服务和可观察量(或主题)来获取它们并在页面中显示它们。

最新更新