gpt4 book ai didi

javascript - $locatioChangeStart 多次触发

转载 作者:行者123 更新时间:2023-11-28 08:02:04 25 4
gpt4 key购买 nike

基本上,我正在尝试创建一些数组,该数组应该包含我的应用程序中访问过的页面的历史记录。

$rootScope.$on('$locationChangeStart',
function (event, next, current) {

historyArray.push($location.path());

console.log("history", historyArray);
});

一开始看起来不错,我的意思是[“/page1”,“/page2”],但随后它开始将“ChangeStart”效果相乘,即[“/page1”,“/page2”,“/第3页”、“/第3页”、“/第4页”、“/第4页”、“/第4页”]等

有什么办法可以预防吗?

编辑。这只是一个例子,我需要 $locationChangeStart 来处理一些 ngDialog 模态和其他复杂的事情,但我面临着类似的问题(比如同时打开 5 个模态)

最佳答案

您可以添加一个条件来检查位置是否实际更改,并添加一个indexOf来确保该页面不存在于数组中。

$rootScope.$on('$locationChangeStart',
function (event, next, current) {
if(next !== current && historyArray.indexOf(current) === -1) {
historyArray.push($location.path());
}
}
);

关于javascript - $locatioChangeStart 多次触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25262499/

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