gpt4 book ai didi

javascript - $urlRouterProvider.when() 内的 Angular-UI Resolve Promise 对象

转载 作者:行者123 更新时间:2023-11-29 10:44:52 25 4
gpt4 key购买 nike

我正在尝试在 module.config() 对象中设置一些基本的应用程序数据,只有当用户使用附加到特定条目的唯一键点击应用程序时,我才会这样做点,否则我的状态将以​​不同的响应解决。

我正在使用 $urlRouterProvider.when(),在指定的入口点捕获用户,然后解析 promise ($http.get()) ,然后返回状态。但似乎无法让它发挥作用。数据本身确实返回了,但函数没有返回路径,我不明白为什么。

$urlRouterProvider.when('/hi/:userkey',function($match,$rootScope, $http){
$http.get('http://api.com/login/'+$match.userkey)
.success(function(result){
$rootScope.data = result;
return '/home';
})

});

我还尝试在 .then() 中设置返回值:

.then(function(){
return '/home';
})

我没有收到任何错误,但没有处理返回值。

最佳答案

所以,我觉得这不是最好的答案,但现在有一些人问我是否找到了解决方案,我确实通过激活所需状态而不是返回它的路线来让它工作。然而,我不想接受这个答案,因为我觉得 esalija 的答案应该有效,而且我正在尝试将测试放在一起看它是否真的是 ui.router 的错误。在那之前,这绝对有效,而且在我的脑海中,至少对于一个小应用程序来说,它不会花费你太多。

$urlRouterProvider.when('/hi/:userkey',function($match, $http, Api, $state){
return $http.get('http://api.site.com/index.php/login/'+ $match.userkey).success(function(result){

Api.userkey = $match.userkey;
Api.appdata = result;

}).then(function(){
$state.go('app');
});

您可以在我的 devsite/#/hi/5300e0ce9dfb8 上试用

编辑

我想我应该觉得这样做很脏,这与模块本身完成的方式相同:

$urlRouterProvider.when(state.url, ['$match', '$stateParams', function ($match, $stateParams) {
if ($state.$current.navigable != state || !equalForKeys($match, $stateParams)) {
$state.transitionTo(state, $match, false);
}
}]);

关于javascript - $urlRouterProvider.when() 内的 Angular-UI Resolve Promise 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21667838/

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