2015-10-28 2 views
0

Я хочу перейти к дочернему состоянию, но мне нужно передать param в родительское состояние.

Мой конфиг например:

$stateProvider 
       .state('app', { 
        url: "/app", 
        abstract:true, 
        templateUrl: "tpl/app.html" 
       }) 
       .state('app.loggedin', { 
        url: "/{cUserIndex:[0-9]{1,4}}", 
        templateUrl: "tpl/home.html", 
        controller: 'HomeCtrl', 
       }) 
       .state('app.loggedin.dashboard',{ 
        url : "/dashboard", 
        controller : "tempCtrl", 
        templateUrl: 'tpl/loggedin/index.html' 
       }) 

Когда я к навигации:

$ state.go ("app.loggedin", {cUserIndex: 1});

Мой URL является:

/приложение/1

, но я хочу панель состояния загрузки по умолчанию, где мой URL должен быть:

/приложение/1/приборная панель

Как я загружаю приложение app.loggedin.dashboard, где loggedin должен иметь stateParam. Что-то вроде

$ state.go ("app.loggedin.dashboard", {cUserIndex: 1}); cUserIndex должен быть передан в app.loggedin и не app.loggedin.dashboard состояния

ответ

1

Попробуйте использовать URLRouterProvider. Что-то вроде

$urlRouterProvider.when('/app/[0-9]{1,4}', '/app/[0-9]{1,4}/dashboard') 
+0

Спасибо за этот трюк, но я не хочу, чтобы сохранить какую-либо зависимость от URL, как позже я могу держать URL-адрес пустым для каждого государства и применения должно быть управляемым государством только –

+0

Кроме того, это решение не работает в all :( –

+0

Правильная заявка с использованием URLRouterProvider: '$ urlRouterProvider.when ('/ app /: cUserIndex', '/ app /: cUserIndex/dashboard');' –

Смежные вопросы