这是我之前关于 Angular2 中的嵌套表单(带有 TS 的 beta 3)的文章的延续(Angular2 beta: nesting form-based parent/child components and validate from parent),但我发布了一个新问题,因为它指到不同类型的问题。
您可以在http://plnkr.co/edit/iCmmy9at2wF5qY0P6VmV找到此处描述的问题的重现。简而言之,在这个假场景中,我有一个组件代表一个虚构字典中的单个单词,另一个子组件用于表示该单词的每个含义;因此,父组件与其子组件之间存在一对多的关系。两者都有一个基于表单的模板,使用表单构建器构建。子模板位于 a中,我在其中绑定来自父 (=word) 模型的每个意义。这样,每个词义的所有属性都会自动绑定到词的模型。NgFor
其中一些属性附加了几个验证器(自定义或标准)。我的问题是,当我以编程方式从父组件设置单词模型时(这也意味着设置表单控件的值),这似乎在验证过程中触发了一些竞争条件,这引发了几个类型为EXCEPTION: Expression ' !definitionCtl.valid' 在检查后已更改。以前的值:“真”。当前值: 'false',阻止进一步的代码执行。
AFAIK,似乎与此问题相关的唯一信息在这里:
然而,这些讨论似乎还没有解决我的问题,除非(如果我理解得很好)我选择手动管理我的所有绑定,我想避免这种情况,因为在现实世界的应用程序中会有有很多。有人可以帮忙吗?