typescript – Angular2(beta3)“表达式在更新表单值后被检查后
这是我之前关于Angular2(带有TS的beta 3)(
Angular2 beta: nesting form-based parent/child components and validating from parent)中嵌套表单的帖子的延续,但我发布了一个新问题,因为它引用了一个不同类型的问题.
你可以在http://plnkr.co/edit/iCmmy9at2wF5qY0P6VmV找到这里描述的问题的复制品.简而言之,在这个虚假场景中,我有一个组件代表一个虚构字典中的单个单词,另一个子组件用于表示该单词的每个意义;因此,父组件与其子组件之间存在1对多的关系.两者都有一个基于表单的模板,使用表单生成器构建.子模板在NgFor中,我从父(= word)模型绑定每个意义.这样,每个单词的意义的所有属性都自动绑定到单词的模型. 其中一些属性附加了几个验证器(自定义或标准).我的问题是,当我以编程方式从父组件设置单词模型时(这也意味着设置表单控件的值),这似乎在验证过程中触发了一些竞争条件,这引发了类型EXCEPTION的几个例外:Expression’ !definitionCtl.valid’在检查后发生了变化.上一个值:’true’.当前值:’false’,阻止进一步的代码执行. AFAIK,这个问题似乎与此问题有关的唯一信息如下: > https://github.com/angular/angular/issues/5992, 然而,我的问题的解决方案似乎并没有出现在那些讨论中,除非(如果我理解的话)我选择手动管理我想要避免的所有绑定,就像在现实世界的应用程序中那样他们很多.有人可以帮忙吗? 解决方法
您可以尝试禁用Angular2开发模式:
import {bootstrap} from 'angular2/platform/browser'; import {App} from './app'; import {enableProdMode} from 'angular2/core'; enableProdMode(); bootstrap(App,[]) .catch(err => console.error(err)); 有关详细信息,请参阅Günter的答案: > In Angular2,why are there 2 times check for content and view after setTimeout? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |