我正在构建一个Angular2应用程序,我也在使用嵌套组件构建页面。
但是,我确实有一个用例,其中一个嵌套组件(充当过滤器)应该使所有其他嵌套组件根据该过滤器上设置的内容更新显示的信息。 我正在附加一个我的页面看起来像什么以及我想要实现的方案。
我已经知道嵌套组件可以在任何父组件上发出事件来触发任何已定义的操作。
但是,我想知道两件事: - 我是否可以将组件绑定到给定的API端点,并让该组件根据过滤器上设置的内容更新显示的信息(通过向端点发出请求)? - 如果不直接绑定到API端点,如何在页面上创建所有组件取决于过滤器?
最诚挚的问候。
答案 0 :(得分:0)
您应该创建一个可以从所有组件中访问的Injectable()服务。
通过使用@Injectable()注释类来声明服务。然后将此类添加到应用程序模块的providers数组中 - 这将使其全局可用于所有组件 - 充当单例服务。最后,使用组件类的构造函数将服务注入到组件中,现在您有一个中心对象,其中过滤器结果组件可以读取过滤器设置的状态。
在此处详细了解服务:https://angular.io/docs/ts/latest/tutorial/toh-pt4.html