Angular 角度及;在组件之间传递数据:解析保护与服务注入的用例
在Angular中,有多种方式将数据传递给组件,特别是,可以在创建组件之前使用Resolve guard加载数据,以使其始终可用,或者可以在组件的构造函数中注入服务并订阅其Angular 角度及;在组件之间传递数据:解析保护与服务注入的用例,angular,dependency-injection,angular-services,angular-router-guards,skeleton-ui,Angular,Dependency Injection,Angular Services,Angular Router Guards,Skeleton Ui,在Angular中,有多种方式将数据传递给组件,特别是,可以在创建组件之前使用Resolve guard加载数据,以使其始终可用,或者可以在组件的构造函数中注入服务并订阅其数据$流,然后在等待加载实际数据时不使用任何内容或默认值 我无法理解什么时候一种方法比另一种更可取或更适合使用,在线示例都是关于不向用户显示空界面的。但是开发者可以在加载数据时创建一个占位符界面(骨架/幻影),这实际上是一种更好的用户体验,那么这有什么意义呢?用户的UI不会被阻止 那么,当使用一种方法时,是否存在特定的用例或边
数据$
流,然后在等待加载实际数据时不使用任何内容或默认值
我无法理解什么时候一种方法比另一种更可取或更适合使用,在线示例都是关于不向用户显示空界面的。但是开发者可以在加载数据时创建一个占位符界面(骨架/幻影),这实际上是一种更好的用户体验,那么这有什么意义呢?用户的UI不会被阻止
那么,当使用一种方法时,是否存在特定的用例或边缘用例?或者这仅仅是一个品味的问题,考虑到我的假设?我知道,从绝对意义上讲,没有比另一个更好的选择,我只想尽可能通过示例来理解。将数据传递给它利用DI的组件的最佳方法。这是我个人的选择,但我将尝试在第一点中描述。这种方法适用于中大型应用程序 为什么?
route.snapshot
并从中获取一些数据时,这种情况非常流行。这使您的组件路由可靠,如果您将此组件移动到应用程序的另一部分,它将无法工作。但是,当您将所有获取数据的逻辑放在提供者中时,它将使您的组件更加灵活。始终考虑“我是否可以轻松地在应用程序的另一部分重用我的组件”,然后您将了解“提供者想法”这个答案的灵感来源于。我的英语不好,但我已经试着解释了这种方法的优缺点。