2015-08-28 2 views
1

Я вызываю состояние на ui-sref с ограниченным успехом.Передача нескольких значений с помощью ui-router ui-sref

Я могу получить обратно person.id значение. Я хочу вернуть все значения из ключевого объекта.

$stateProvider.state('itinerary', { 
     url: '/itinerary', 
     views: { 
      "main": { 
       controller: 'ItineraryCtrl', 
       templateUrl: 'src/app/itinerary/itinerary.tpl.html' 
      }, 
      resolve: { 
       dates: ['$stateParams', function($stateParams){ 
       console.log('name',$stateParams); 
       return $stateParams.dates; 
       }] 
      } 
     }, 
     data: { 
      pageTitle: 'Itinerary' 
     } 
    }); 

есть способ получить все свойства объекта?

Вот HTML тег, который я использую

<td><a ui-sref="itinerary.name({name:person.id, details:person.dates})">{{person.name}}</a></td> 
+0

Что вы подразумеваете под ключевым объектом? вы хотите получить объект целиком? – Subash

+0

Это была моя цель. Прошу прощения, я имел в виду ключевое значение. Я возвращал значение для человека. Я могу изменить person.id на любое другое значение, person.dates или person.status. Тем не менее, я мог получить только определенное значение за раз – Winnemucca

ответ

2

Params должны быть определены на URL, так что вы получите consitent поведение, если состояние нагрузки от ui-sref, $state.go или набрав в URL. В этом случае параметры должны быть строками.

$stateProvider.state('itinerary', { 
    url: '/itinerary/:name/:details', 
    // ... 
}); 

Вы можете передать объекты в состояние, но это не будет работать при загрузке состояния из URL. Для этого определите свои параметры в объекте params:

$stateProvider.state('itinerary', { 
    url: '/itinerary/:name', // name from URL 
    params: { 
     details: null  // details object 
    }, 
    // ... 
}); 
Смежные вопросы