Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 发送/转发到其他状态的UI路由器状态_Angularjs_Angular Ui Router - Fatal编程技术网

Angularjs 发送/转发到其他状态的UI路由器状态

Angularjs 发送/转发到其他状态的UI路由器状态,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我们的Angular应用程序的入口点(例如,在登录后)或当找不到其他路由时($urlRouterProvider.others())应该是一个UI路由器“调度”状态,它决定转发到哪个状态,可能基于一些解析。这个分派状态是一个叶子状态,所以我不想解决从父状态跳转到子状态的问题 通过$state.go(),我看到了两种放置重定向逻辑和实际转换的方法: 在调度状态的oneter功能中。当分派状态是用户跳转到的第一个状态时,此操作有效。如果应用程序已加载,然后用户跳转到dispatch状态,则控制台上会

我们的Angular应用程序的入口点(例如,在登录后)或当找不到其他路由时(
$urlRouterProvider.others()
)应该是一个UI路由器“调度”状态,它决定转发到哪个状态,可能基于一些
解析。这个分派状态是一个叶子状态,所以我不想解决从父状态跳转到子状态的问题

通过
$state.go()
,我看到了两种放置重定向逻辑和实际转换的方法:

  • 在调度状态的
    oneter
    功能中。当分派状态是用户跳转到的第一个状态时,此操作有效。如果应用程序已加载,然后用户跳转到dispatch状态,则控制台上会出现以下错误:
    
    TypeError:无法读取null的属性“globals”
    在Object.transitiono(angular ui router.js:3231)
    at Object.go(angular ui router.js:3112)
    at Object.$stateProvider.state.state.oneter(home.routes.js:62)
    在Object.invoke(angular.js:4523)
    在$state.transition.resolved.then.$state.transition(angular ui router.js:3322)
    在processQueue(angular.js:14792)
    在angular.js:14808
    范围$eval(angular.js:16052)
    在范围内。$digest(angular.js:15870)
    在范围内$apply(angular.js:16160)
    
    我们使用UI路由器0.2.17。这在中提到,已关闭。 此解决方案的优点是不会加载分派的视图,但会立即发生重定向

  • 在调度状态的控制器中。在这种情况下,将加载dispatch状态的视图,因此用户将在转发到目标状态之前看到“闪烁”

  • 那么,我们如何正确实施这种“调度状态”?一般来说,拥有这样的状态是个坏主意吗?