2016-02-25 93 views
0

谁能帮助我在此 我有一个关于PARAMS问题:UI的路由器演员stateParams空

1)当我去app.usermanagement.user({id:40})router.config的决心功能$stateParams是空的。我想我错过了一些选择。

我被ui-sref="app.usermanagement.user({id:40})"

这里去那个状态是下面的代码:

var states = []; 

states.push({ 
    name: 'app', 
    url: '/', 
    deepStateRedirect: true, 
    resolve: { 
     languages: function (CommonData) { 
      return CommonData.getLanguages(); 
     }, 
     r1s: load([ 
      'ui.select' 
     ]).deps 
    }, 
    views: { 
     '@': { 
      templateUrl: 'tpl/app.html' 
     } 
    }}); 
states.push({ 
    name: 'app.usermanagement', 
    url: 'userManagement', 
    templateUrl: 'app/views/user-managment.html', 
    controller:'UserManagmentController', 
    deepStateRedirect: { default: "app.usermanagement.search" } 
}); 
states.push({ 
    name: 'app.usermanagement.search', 
    url: '/search', 
    templateUrl: 'app/views/tabs/user-managment/user-search.html', 
    controller:'UserSearchController' 
}); 
states.push({ 
    name: 'app.usermanagement.user', 
    url: '/user/{id}', 
    controller:'UserPageController', 
    templateUrl: 'app/views/tabs/user-managment/user-page.html', 
    resolve: { 
     user: function ($stateParams, UserData) { 
      return UserData.getUserById($stateParams.id); 
     } 
    }, 
    deepStateRedirect: { default: "app.usermanagement.user.details" } 
}); 
states.push({ 
    name: 'app.usermanagement.user.details', 
    url: '/details', 
    controller:'UserDetailsController', 
    templateUrl: 'app/views/tabs/user-managment/user-details.html' 
}); 
states.push({ 
    name: 'app.usermanagement.user.friends', 
    url: '/friends', 
    templateUrl: 'app/views/tabs/user-managment/user-friends.html' 
}); 

回答

1

好,我是缺少财产PARAMS:真正在deepStateRedirect对象

deepStateRedirect: { default: "app.usermanagement.user.details", params:true } 
+0

我也发现了这个此外,在以下语句中有用:$ state.go($ state.current,{param1:“2”},{reload:true,params:true});它导致参数被传递,在使用之前,它们是不确定的。这在强制重新加载时很有用。 –