我的$ stateProvider中有两种状态,它们是经过身份验证的用户访问网址和公共访问网址。
我有一些公共访问的网址,我需要阻止这些网址访问经过身份验证的用户,并需要更改另一个网址。
示例假设, http://localhost:3000/#/pjobadd/1 是公共访问网址, 如果经过身份验证的用户将访问此网址,我需要更改为 http://localhost:3000/#/jobadd/1 。
我正试图将解决方案视为吼叫
我在状态提供程序中添加了参数,如
.state('admin-panel.public.jobadd', {
url: '/pjobadd/:jobID',
templateUrl: 'app/public/jobadd.tmpl.html',
controller: 'PublicJobaddController',
resolve: {
jobAdd: ['Public', '$stateParams', function(Public,$stateParams) {
return Public.jobAdd($stateParams.jobID);
}]
},
data: {
requireChange: 'pjobadd'
}
})
并在app.js中使用 requireChange ,如下所示
$rootScope.$on('$stateChangeStart', function (event, toState, toParams) {
if (!Auth.isAuthenticated()){
var requireChange = toState.data.requireChange;
console.log(requireChange);
switch(requireChange){
case 'pjobadd':
$state.go('admin-panel.default.jobadd');
case 'psearch':
$state.go('admin-panel.default.search');
}
我需要附加url传递的参数和$ state.go()也没有重定向到提到的url。 我不认为这是有效的方式。
任何人都可以建议一个方法吗???
答案 0 :(得分:0)
检查此网址... How to pass parameters using ui-sref in ui-router to controller
你能在这里提供你的代码吗?并给我一些关于你的要求的更清晰的信息..