Angular ui -路由器设置网站入口点.重定向到主页URL
Angular UI-router set website entry point. Redirect to home URL
我正在使用Angular的UI-router,我希望用户总是(或者在大多数情况下,为了简洁,我们可以用"always")在step1上进入web应用,也就是我的主页。
UI-router配置简写:
.config(function($stateProvider, $urlRouterProvider) {
// route to root if no valid route found
$urlRouterProvider.otherwise('/step1');
var step1 = {
name : 'step1',
url : '/step1',
templateUrl: 'partials/step1.html'
};
var step2 = {
name : 'step2',
url : '/step2',
templateUrl: 'partials/step2.html'
};
.
.
.
.
}
我可以做一个解析或指定一个控制器,并简单地设置$location.path('/step1'),但是有没有一种方法可以只设置一个入口点,并有step2/step3的url只能从step1开始后到达,没有重定向的成本?
提前感谢
为了解决这个问题,你也可以使用$stateChangeStart事件。
$rootScope.$on('$stateChangeStart',
function(event, toState, toParams, fromState, fromParams){
if (fromState.name === '' && toState.name !== 'state1'){
event.preventDefault();
$state.go('state1');
}
});
来源:https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions how-to-create-rules-to-prevent-access-to-a-state
我想这就是你想要的-
.config(function($stateProvider, $urlRouterProvider) {
$stateProvider
.state('step1', {
url: "/step1",
templateUrl: "partials/step1.html",
controller: "step1Ctrl"
})
.state('step2', {
parent: 'step1',
url: "/step2",
templateUrl: "partials/step2.html",
controller: "step2Ctrl"
})
.state('step3', {
parent: 'step2',
url: "/step3",
templateUrl: "partials/step3.html",
controller: "step3Ctrl"
});
// route to root if no valid route found
$urlRouterProvider.otherwise('/step1');
})
这是一个按钮,点击它后会导航到步骤2 -
<button ui-sref="step2">Step 2</button>
相关文章:
- 事件发生后重定向到主页.preventDefault.
- 在Jquery easyui中,多个选项卡提交按钮点击事件正在重定向到主页(第一个)选项卡
- 新窗口重定向到我的主页
- 从登录页重定向到主页
- 网站主页重定向到空白页面
- 移动设备上的 iFrame 重定向主页问题
- 防止主页在登录页面重定向之前闪烁
- 如果当前网址不包含位置搜索,请重定向到主页
- 使用 Node.js,如何将随机字符串路径重定向到主页
- 我怎样才能确保点击图像会将我重定向到我的主页
- 当将页面提交到谷歌表单时,它将打印结果,然后使用 javascript 重定向到主页
- 如何使用php重定向到主页
- 从node.js中的登录页面重定向到主页时丢失会话
- 将主页重定向为shell页面,而不是angularJS中的索引页面
- 使用ng repeat和ng model调用splice()时,角度重定向到主页
- PHP文件重定向/离开主页
- 欢迎屏幕,重定向到主页
- 将Javascript(Jquery)函数重定向到主页
- 从主页url重定向到url+锚点
- ASP.NET MVC从错误页重定向到主页