我想在視圖獲取呈現之前設置一個視圖上的解決方案來獲取一些用戶信息,因爲來自API的數據將決定他們用戶將看到的視圖。我試圖把我的服務到解決,但$stateParams
並不時設置出於某種原因裏面的服務:
.state('order.sharepoint', {
url: '/sharepoint',
abstract: true,
controller: 'SharePointController',
resolve: {
OrderResolve: function(Order, $stateParams){ // Here $stateParams
return Order.fetch(); // is set correctly!
}
}
});
訂購服務
app.factory('Order', function ($q, API, $stateParams) { // HERE $stateParams
// is empty for some reason
var Order = null;
var service = {};
service.fetch = function() {
/// Here is my API call and everything
}
爲什麼不傳遞'$ stateParams'到'service.fetch'作爲參數? – SteamDev 2014-11-14 22:21:56
我最終這樣做了,但我仍然想知道爲什麼其他方式無法正常工作。 DI應該解決我必須將它傳遞給fetch()函數的問題。 – 2014-11-14 22:26:01
$ stateParams僅在正確的URL被擊中時才被填充。你可以試試$ state.params? – Ralph 2014-11-14 22:31:03