哪个@angular/*包是bug的来源?
core
这是一个回归吗?
否
描述
你好,新的模型输入对我来说不起作用。当我从父组件更改模型输入时,更改在子组件中没有反映出来。在这个例子中,父组件立即将 save
模型输入设置为 false
。在stackblitz中,你可以看到 save
信号失去同步。
请提供一个最小复现bug的链接
https://stackblitz.com/edit/stackblitz-starters-pgh9xy?file=src%2Fmain.ts
请提供您看到的异常或错误
- 无响应*
请提供您发现此bug的环境(运行 ng version
)
@angular/core: 18.1.1
还有其他吗?
我想实现一个通用的保存组件。这个组件将模型输入 save
设置为true,并在 save
为true时显示一些加载指示。这个组件从不同的父组件中使用,它们要么执行http请求,要么只是执行一些代码。当它们完成时,它们将 save
模型设置为 false
。然后,子组件中的加载动画应该停止。
5条答案
按热度按时间roqulrg31#
虽然目前这个功能按照设计工作,但我同意你的观点。
3lxsmp7m2#
使用一个
setTimeout
,它可以工作: https://stackblitz.com/edit/stackblitz-starters-pgsmrb?file=src%2Fmain.ts,src%2Fchild%2Fchild.component.ts8ftvxx2r3#
是的,原因是从绑定的Angular 来看,父模板始终评估为
false
,因此更改检测机制将其检测为未更改,从而使model
输入永远不会重置。在翻转之前插入一个更改检测周期,确实会导致您想要的通知。hjqgdpho4#
啊,我明白了,谢谢你的解释。
对于遇到同样问题的人来说,这个方法可以解决:https://stackblitz.com/edit/stackblitz-starters-nmzllx?file=src%2Fmain.ts
eit6fx6z5#
请检查此解决方案,它可能会有所帮助。