如何在AngularJS中捕获不同的路径?

时间:2016-01-19 10:16:43

标签: javascript angularjs angular-ui-router

我正在使用ui-router在我的角度SPA中进行路由。我有一个用例,可以通过路径1或路径2到达View(比如说View A)。如果用户点击View A中的一个按钮,根据用户来到这个视图的路线,需要执行不同的操作(可能会重定向到路由3(如果来自路由1)路由4(如果来自路由2)。最好的方法是什么?

3 个答案:

答案 0 :(得分:0)

您可以在事件$stateChangeStart

中执行此操作
$rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
//Do whatever you want here
}
);

答案 1 :(得分:0)

您可以使用$state.current.name检查当前的州名称,并使用$state.go('...');

更改状态

请参阅https://github.com/angular-ui/ui-router/wiki

答案 2 :(得分:0)

您可以为不同路线中的同一视图提供不同的控制器。

此外,如果您有一些模拟逻辑,那么控制器可以是一个父控制器的子控件。