我如何* ngIf并使用插值?

时间:2017-02-08 18:05:25

标签: angular observable angular2-template

我有一个userData$ observable,基本上连接到firebase。在此用户对象上,有一堆可选属性。

我正在使用Ionic2并在ionViewDidLoad described here

期间创建了observable

此代码

<h1 *ngIf="(userData$ | async)?.name">{{(userData$ | async)?.name}}</h1>

导致我出现以下错误

  

FIREBASE警告:用户回调引发了异常。错误:   检查后表情发生了变化。以前的价值:   'CD_INIT_VALUE'。当前值: ''。这看起来似乎已经存在   在其父项及其子项被脏检查后创建。具有   它是在变更检测钩子中创建的吗?

特别是堆栈跟踪的第一行是ExpressionChangedAfterItHasBeenCheckedError

我在这个异步模板上做错了什么?如果我删除*ngIf则可行。如果我改变...">Hello World"</h1>它就有效。但我不能在这里做两件事,也不能确定原因。我认为ngif运行但插值被遗漏了。

有谁知道为什么会发生这种情况或者正确的方法应该是什么?

谢谢!

0 个答案:

没有答案