2015-08-28 71 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' 
     } 
    }); 

有沒有辦法讓對象的所有屬性通過?

下面是應該在URL中定義的HTML標記,我現在用

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

給你的關鍵對象是什麼意思?你在尋找整個人物嗎? – Subash

+0

這是我的目標。我道歉,我的意思是關鍵價值。我正在爲person.id返回一個值。我可以將person.id更改爲任何其他值,person.dates或person.status。但是,我一次只能得到具體的價值 – Winnemucca

回答

2

參數,可以讓你從ui-sref$state.go或在輸入網址得到,如果加載狀態consitent行爲。在這種情況下,params必須是字符串。

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

您可以將對象傳遞給某個狀態,但從URL加載狀態時這不起作用。要做到這一點,在params屬性來定義您的PARAMS:

$stateProvider.state('itinerary', { 
    url: '/itinerary/:name', // name from URL 
    params: { 
     details: null  // details object 
    }, 
    // ... 
});