【问题标题】:Hide other copies of component in angular?以角度隐藏组件的其他副本?
【发布时间】:2019-02-09 03:36:42
【问题描述】:

我有一个弹出组件,只要用户单击以显示弹出按钮,它就可见。我在单个页面的多个位置使用该组件来显示信息。现在,如果我单击弹出窗口,我希望隐藏组件的其余副本。

例如:如果我点击用户信息的弹出窗口,然后我点击另一个弹出窗口,我希望用户信息弹出隐藏

我已经通过为组件的每个副本分配一个 id 来解决这个问题,并隐藏除了被点击的那个之外的其余部分

除了被点击的那个之外,还有其他方法可以隐藏组件的其余副本吗?

【问题讨论】:

  • 首先,如果您有一个弹出组件,最好不要复制多次,只需使用 Inputs 更改您想要的内容,这样您就不需要隐藏,您可以修改你的弹出窗口。但是,如果您需要一遍又一遍地复制,请尝试将*ngIf 分配给您的弹出组件html标签,例如*ngif="state == 'firstCondition'",并且只在您需要的地方更改状态
  • 当我说多个副本时,我的意思是这样的
    这里我们生成了多个组件副本,因为每个 this 都指向单个组件

标签: angular popup components angular5


【解决方案1】:

添加全局侦听器,如果点击在此组件之外 - 关闭它。
例如检查Handling multiple components with click events in Angular

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-20
    • 1970-01-01
    • 2016-02-02
    • 1970-01-01
    相关资源
    最近更新 更多