2016-02-25 95 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});它導致參數被傳遞,在使用之前,它們是不確定的。這在強制重新加載時很有用。 –