gpt4 book ai didi

javascript - 触发引导模式隐藏 (hide.bs.modal) 事件后,$location.path 需要一些时间才能工作

转载 作者:行者123 更新时间:2023-12-03 05:54:24 24 4
gpt4 key购买 nike

    // show mymodal
// register an event to route to a different page once modal is closed
$('#myModal').on('hide.bs.modal', function() {
if ($location.path() == '/') {
$location.path('/ser/mynewpath');
alert("fired"); // just to check the event was fired
}
});
// open the modal
$('#myModal').modal('show');

我使用 JavaScript 调用引导模式 #myModal。关闭模式后,我想将页面定向到不同的路径。问题是关闭模态框后需要 30 秒 - 1 分钟才能引导页面。我添加了一个警报来检查事件是否迟到触发,但我在关闭模式时收到警报,但页面仅在长时间等待后才会定向。

有时,当我点击其他地方时,它会被解雇。但这并不总是发生 - 有时漫长的等待是不可避免的。

我最初的猜测是因为我使用引导模式并使用 $location, Angular 可能无法在模式关闭时检测到它。但现在看来这是一个愚蠢的猜测。我还尝试将事件触发器更改为“hidden.bs.modal”,但得到了相同的结果。

我将尝试添加 Angular $modal 并查看是否可以解决,然后发布更新。但与此同时,我很高兴了解此设置延迟背后的原因。

谢谢。

最佳答案

由于它是jquery事件,Angular不会立即意识到这个事件。它将必须等到下一个消化周期,这会导致延迟。您尝试使用 $scope.$apply

$scope.$apply(function() {
if ($location.path() == '/') {
$location.path('/ser/mynewpath');
alert("fired"); // just to check the event was fired
}
}

关于javascript - 触发引导模式隐藏 (hide.bs.modal) 事件后,$location.path 需要一些时间才能工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40001530/

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