【问题标题】:change detection not getting triggered if a property of input object is changed in child component; property is bounded to [hidden]i in parent如果子组件中输入对象的属性发生更改,则不会触发更改检测;属性在父级中绑定到 [hidden]i
【发布时间】:2022-08-17 19:14:59
【问题描述】:

我有一个父组件,其中我有一个像这样的子组件:

<子[字段] = \'控制\' [隐藏] = \'控制.隐藏\'>

最初 control.hide = null 现在,在子组件的某个时刻,我正在根据特定条件将 hide 更改为 true。

但是更改检测没有在父组件中触发,并且子组件没有被隐藏,尽管 control.hide 是两种绑定到隐藏属性的方式。

只是为了检查控件对象的隐藏属性是否更改为真,我只是发出一个事件并在父组件中验证 control.hide 是否更改为真。

  • 请与已复制的问题分享堆栈闪电战

标签: angular angular2-changedetection angular-changedetection


【解决方案1】:

如何在子组件中使用双向绑定?

否则,在您的子组件中,您可以执行以下操作:

@Input hidden;
@Output hiddenChange;

...
this.hiddenChange.emit(this.hidden);
...

在您的父组件模板中:

<child [field]='control' [(hidden)] = 'control.hide'>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-06
    • 1970-01-01
    • 2017-09-14
    • 2019-05-23
    • 2018-10-19
    • 1970-01-01
    • 1970-01-01
    • 2015-08-11
    相关资源
    最近更新 更多