gpt4 book ai didi

javascript - Angular ngRoute 条件 .when()

转载 作者:行者123 更新时间:2023-11-29 10:42:37 26 4
gpt4 key购买 nike

我想实现一个有条件的 .when(),如下所示:

.when('/abc', {
// if MyService.allow == true
template: '<myDirec></myDirec>'
// else
redirectTo: '/'
})

我的 /abc 路由将以有状态的方式被我的一项服务中的变量保持“保护”。所以我想在其他地方将这个状态设置为 true/false,下次用户尝试访问/abc 时,他将有条件地得到服务。

我怎样才能做到这一点? - 尽可能少的第 3 方依赖

我尝试和阅读的内容: - 简单地在 .config 中注入(inject)我的服务,我了解到这是不可能的 - 阅读有关使用提供者的信息,因为它们可以被注入(inject)。但是我可以像使用我的服务一样使用它们吗? - template 和 templateUrl 接受一个函数,但这并没有真正帮助我

非常感谢!

最佳答案

您可以使用 $routeChangeStart 事件。它在 url 更改时触发,并将 current 和 next 作为参数,例如:

$rootScope.$on('$routeChangeStart', function(event, next, current) {
if (next === 'abc') // do something;
});

关于javascript - Angular ngRoute 条件 .when(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25770218/

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