【发布时间】:2018-12-12 17:45:58
【问题描述】:
有这样一个错误:
错误错误:ExpressionChangedAfterItHasBeenCheckedError:表达式 检查后有变化。以前的值:'ngTemplateOutlet: 不明确的'。当前值:'ngTemplateOutlet: [object Object]'。
在 viewDebugError (core.js:9775)
在表达式ChangedAfterItHasBeenCheckedError (core.js:9753)
在 checkBindingNoChanges (core.js:9920)
在 checkNoChangesNodeInline (core.js:13970)
在 checkNoChangesNode (core.js:13942)
在 debugCheckNoChangesNode (core.js:14771)
在 debugCheckDirectivesFn (core.js:14673)
在 Object.eval [as updateDirectives] (ShowEventComponent.html:73)
在 Object.debugUpdateDirectives [as updateDirectives] (core.js:14655)
在 checkNoChangesView (core.js:13780)
她因此出现:
<tr *ngFor="let user of users">
<ng-template [ngTemplateOutlet]="loadTemplate(user)"
[ngTemplateOutletContext]="{ $implicit: user}">
</ng-template>
</tr>
我该如何解决?
我使用 Angular 5.2.0,rxjs 5.5.6
【问题讨论】:
-
关于这个问题的好文章:blog.angularindepth.com/…
-
另一个类似的 SO 问题:stackoverflow.com/questions/39787038/…
-
这些都没有帮助。(
-
这类问题不容易解决,你必须了解角度变化检测机制是如何工作的,然后将你的知识应用到你的项目中,找出关键问题。
标签: angular