【发布时间】:2019-04-25 13:34:39
【问题描述】:
我正在尝试将我的模板绑定到通过回调从订阅返回的值。但是没有调用变化检测。
//authorisation service
public login(data,callbackFromLogin : (msg) => void): void {
this.http.httpPost(ApiRoutes.LoginRoute,data).subscribe(result => {
callbackFromLogin(msg);
});
}
//and then in login component
onSubmit(request) {
this.authService.login(request,(message) => {
alert(NgZone.isInAngularZone());
if(message) {
this.ngZone.run( () => {
this.message = message;
alert(NgZone.isInAngularZone());
});
}
});
}
<div>{{message}}</div>
消息没有改变,尽管它从服务中获取了一个值。我猜这个问题与Zone有关。
【问题讨论】:
-
你能为此创建一个 stackblitz sn-p 吗?
标签: angular typescript asynchronous zone