【发布时间】:2017-06-25 00:10:20
【问题描述】:
我有一种情况,起初对自己来说似乎相当直截了当,但在改变我的解决方案结构几天后,它变得如此复杂! 那么我有一个父/子组件关系如下:
- 父母
- 儿童 1
- 孙子 1
- 孙子2
- 孙子 3
- 孩子 2
- 孙子 1
- 孙子2
- 孙子 3
- 儿童 1
这些组件中的每一个(父、子和孙子)都有一个“isValid”属性和一个“validate()”方法。我想要实现的只是一个解决方案,其中每个组件的有效性状态都取决于它自己的验证逻辑以及所有子组件的有效性。 下面是每个组件的简单验证规则:
- 如果所有子孙都有效,则父 isValid = true
- Child isValid = true 如果其子代数不超过 3 且不小于 1 加上所有子代都有效
- grandchild isValid = true 如果其中的文本框有值
我已经阅读了这个https://angular.io/docs/ts/latest/cookbook/component-communication.html#!#parent-to-child-on-changes 并尝试了它描述的所有可能的方式,但都不符合我的要求,即如果父级组件的所有子级都有效,则父级组件有效!
提前感谢您的建议:)
【问题讨论】:
-
更多细节在这里:link
标签: angular parent-child