【问题标题】:create reusable component in angular 2在 Angular 2 中创建可重用组件
【发布时间】:2016-12-24 15:10:28
【问题描述】:

我想创建一个显示某种弹出模式的“登录组件”。 考虑到我的应用程序中有很多地方可以调用这种模式,什么是击球手方法: 1.将“登录组件”放置在我使用它的任何地方,尽管它在任何地方都相同。 2. 将其放置在顶级组件中,并使用某种事件监听器显示和隐藏它。

在第一种方式中,我封装了组件以显示其需要的内容并轻松控制其生命周期。 在第二种方式中,我避免重复我自己并将其称为每个组件。

谢谢。

【问题讨论】:

    标签: angular components


    【解决方案1】:

    您无需执行任何操作。 只需创建一个登录组件并在需要时重定向到它。 不要重复自己。 有某种方法可以验证用户的登录状态。然后,每当登录状态无效时,只需使用适当的消息重定向到登录页面

    【讨论】:

    • 如何重定向组件?
    【解决方案2】:

    更好的方法是将它放在某个地方一次,然后使用带有 observables 的共享服务来允许所有感兴趣的组件发送消息。

    另见https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#bidirectional-service

    【讨论】:

    • 感谢您的链接。我读过它,但它只显示调用组件是新组件的父级的情况。我需要登录组件将没有连接到调用组件...
    • 如果您使用该服务,那么无论哪个组件是父组件和子组件都无关紧要,参与的组件可以在您的应用程序中的任何位置。唯一重要的是共享服务在参与组件的共同父级或祖先处提供,否则它们无法注入相同的服务实例。
    • 可以分享一个使用服务调用远程组件的例子吗?
    • 上面的链接应该包含一个例子。你需要一个带有 observable 的服务。远程组件注入该服务并订阅可观察对象并在传递给subscribe(...) 的回调中执行一些操作。另一个组件或服务也注入该服务并使用 observable 发出值。确保您只提供一次服务,否则会有多个服务实例。
    • 我试试.. 非常感谢
    猜你喜欢
    • 2017-11-14
    • 1970-01-01
    • 2018-09-24
    • 1970-01-01
    • 2017-07-07
    • 2016-06-14
    • 1970-01-01
    • 2017-01-03
    • 1970-01-01
    相关资源
    最近更新 更多