gpt4 book ai didi

angular - ng-idle/core onIdleEnd 和 Mat-Dialog 有问题

转载 作者:行者123 更新时间:2023-12-04 01:25:12 25 4
gpt4 key购买 nike

我在 Ng-Idle、Material 6 和 Angular 6 中发现了一个问题

"@ng-idle/core": "^6.0.0-beta.3"
"@ng-idle/keepalive": "^6.0.0-beta.3"
"@angular/core": "^6.1.9"
"@angular/cdk": "^6.4.7"
"@angular/material": "^6.4.7"

场景

当用户空闲时,对话框(弹出窗口)会显示用户退出系统前的倒计时。如果用户在用鼠标事件注销之前返回,倒计时将停止并且对话框将关闭/消失。

问题

但是,在 Angular 5 中,此功能运行良好,直到我升级到 Angular 6。当用户在 onTimeout 之前返回时,它会触发 onIdleEnd但对话框不会在鼠标事件时消失。我创建了一个 Angular 6 应用程序来复制这个问题。我试图确定这是 Ng-Idle 还是 Angular 问题。

Stackblitz with Ng-Idle

Stackblitz showing Mat-Dialog closing after 10 second countdown

Github

有没有人遇到过这个问题?

最佳答案

我遇到过同样的问题。我通过插入 Angular 变化来解决它。

第一的:

{ AppplicationRef } from '@angular/core';

在组件的构造函数中添加 ChangeDetectorRef:
constructor(private appRef: ApplicationRef)

然后在 onIdleEnd 上调用它:
this.idle.onIdleEnd.subscribe(() => {
this.showModal = false;
this.appRef.tick();
});

StackBlitz solution .

关于angular - ng-idle/core onIdleEnd 和 Mat-Dialog 有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52709517/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com