首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >角8十进制绑定不更新

角8十进制绑定不更新
EN

Stack Overflow用户
提问于 2020-05-07 10:05:33
回答 3查看 531关注 0票数 1

我开始了一个8度角质化的项目。

我有一个带有表单的组件。我希望旋转器出现在提交,点击和消失在API的响应。以下是组件代码的一部分:

代码语言:javascript
代码运行次数:0
运行
复制
@Component({
	selector: 'change-password',
	templateUrl: './change-password.component.html',
	styleUrls: ['./change-password.component.scss'],
})
export class ChangePasswordComponent implements OnInit, OnDestroy {

	isLoading: boolean = false;
	...
	submit() {

		this.isLoading = true;
		
		this.utilisateurService
			.changePassword(changePasswordData).pipe(finalize(() => this.isLoading = false))
			.subscribe(() => {});
	}
        ...
}
代码语言:javascript
代码运行次数:0
运行
复制
<form class="kt-form" [formGroup]="changePasswordForm" autocomplete="off">
        ...
	<div class="kt-login__actions">
		<button (click)="submit()" 
		[ngClass]="{'kt-spinner kt-spinner--right kt-spinner--md kt-spinner--light': isLoading}">
			Submit
		</button>
	</div>
</form>

当我单击submit按钮时,isLoading属性将被更新为true并显示为spinner。当finalize()执行时,isLoading属性将更新为false,但旋转器不会消失.

我不明白。

我试着使用NgZone,但同样的问题。

知道吗?

编辑

我试过点击和订阅。还是同样的问题。问题只适用于渲染。如果我再次单击submit按钮,则isLoading属性为false,正如预期的那样。但旋转者仍在奔跑。

EN

回答 3

Stack Overflow用户

发布于 2021-02-06 21:08:12

您可以在app.component.ts文件changeDetection configuration设置为Default中解决此问题。

票数 1
EN

Stack Overflow用户

发布于 2020-05-07 10:43:02

如果您想在可观察性完成时做一些事情,那么使用完整的回调,而不是finalize:

票数 0
EN

Stack Overflow用户

发布于 2020-05-07 10:45:01

快速核对表

  1. ,您确定finalize正在运行,而布尔值正在改变吗?

finalize是在订阅为完成时执行的,而不仅仅是发出值。如果您将observable.

  • Does更改为taptap,则可能会出现一个问题,即this.utilisateurService.changePassword(...)永远不会完成该任务,它会透明地对每个排放执行操作或副作用。

代码语言:javascript
代码运行次数:0
运行
复制
      this.utilisateurService
          .changePassword(changePasswordData)
          .pipe(tap(() => this.loading = false))
          .subscribe(() => { });

作为最后一个资源的

  1. :如果您不使用管道并更改该
  2. 中的布尔值,它是否有效?

代码语言:javascript
代码运行次数:0
运行
复制
      this.utilisateurService
          .changePassword(changePasswordData)
          .subscribe(() => { this.loading = false; });

即使当我在一个项目的角度8 Metronic,这个问题将是角不改变渲染时,一个道具改变,这是战斗测试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61655099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档