Uikit 通知完成然后导航到另一个页面
Uikit Notification finish then navigate to another page
我想弹出一个通知然后导航到登录页面。
UIkit.notification({message: 'no access, please login again', status: 'danger'});
this.router.navigateByUrl('login'); // angular navigation by url
但是它会弹出消息并同时导航到登录页面。我想要的是等待通知关闭然后进行导航。
如果我们只有通知的第一行代码,弹窗window默认会在5秒后消失。在我的代码中有两行,弹出窗口 window 很快消失然后 运行 第二行代码。
您可以使用纯 UIkit 实现此目的。通知组件在关闭时触发 close
event,您可以将其用于自定义功能。要 运行 仅针对特定错误通知的功能,您可以添加自己的自定义 class(在我的示例中为 login-error
)。
UIkit.notification({
message: 'no access, please login again',
status: 'danger login-error'
});
UIkit.util.on('.login-error', 'close', function() {
console.log('Notification closed');
//this.router.navigateByUrl('login'); // angular navigation by url
});
<!-- UIkit CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/uikit@3.5.4/dist/css/uikit.min.css" />
<!-- UIkit JS -->
<script src="https://cdn.jsdelivr.net/npm/uikit@3.5.4/dist/js/uikit.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/uikit@3.5.4/dist/js/uikit-icons.min.js"></script>
我想弹出一个通知然后导航到登录页面。
UIkit.notification({message: 'no access, please login again', status: 'danger'});
this.router.navigateByUrl('login'); // angular navigation by url
但是它会弹出消息并同时导航到登录页面。我想要的是等待通知关闭然后进行导航。
如果我们只有通知的第一行代码,弹窗window默认会在5秒后消失。在我的代码中有两行,弹出窗口 window 很快消失然后 运行 第二行代码。
您可以使用纯 UIkit 实现此目的。通知组件在关闭时触发 close
event,您可以将其用于自定义功能。要 运行 仅针对特定错误通知的功能,您可以添加自己的自定义 class(在我的示例中为 login-error
)。
UIkit.notification({
message: 'no access, please login again',
status: 'danger login-error'
});
UIkit.util.on('.login-error', 'close', function() {
console.log('Notification closed');
//this.router.navigateByUrl('login'); // angular navigation by url
});
<!-- UIkit CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/uikit@3.5.4/dist/css/uikit.min.css" />
<!-- UIkit JS -->
<script src="https://cdn.jsdelivr.net/npm/uikit@3.5.4/dist/js/uikit.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/uikit@3.5.4/dist/js/uikit-icons.min.js"></script>