0
我在我的角應用中使用ui路由器。 我定義的路由這樣的:使用ui路由器跳過解決更改路由
angular.module('app.product', [])
.config(['$stateProvider', function($stateProvider) {
$stateProvider
.state('product', {
url: '/product/:product_id',
templateUrl: 'partial/product',
controller: 'productCtrl',
resolve: {
product: ['$http', '$stateParams',
function($http, $stateParams) {
return $http.get('/api/product/' + $stateParams.product_id);
}]
}
})
}])
在某一點,我手動更改使用$state.go('product')
客戶端的路由。這裏我已經在客戶端有product
數據,所以不需要額外的$http
請求。
什麼是在$state.go
調用中傳遞數據的最佳方式,並讓ui-router知道不需要提出此請求?
我應該建立一個服務來處理這個問題嗎?
所以你想要某種緩存?您應該爲此使用服務/工廠並檢查所有緩存相關信息。我認爲angular http已經支持緩存,請檢查一下。 – 2014-12-04 09:09:24
把這段代碼放在一個服務中,而不是在你的控制器的解析中,那麼你可以保留一個本地副本pf中的數據,當它是空的時候發一個serer調用,否則返回它。 – 2014-12-04 09:20:52