0
我想根據用戶最近一次訪問子路由動態加載路由。最近的訪問被保存並使用工廠進行檢索。目前我正在使用onEnter,但是會導致父路由加載,然後發生第二次加載以加載子路由。如果需要的信息存在,是否有辦法阻止第二次加載並直接進入子路徑?ui路由器onEnter替代
(function() {
'use strict';
angular
.module('curation')
.config(routesConfig);
routesConfig.$inject = ['$stateProvider'];
/**
* Route Configuration to establish url patterns for the module
* @param {Function} $stateProvider
*/
function routesConfig($stateProvider) {
// Curation state routing
$stateProvider.
state('site.curation', {
url: '/curation',
templateUrl: 'modules/curation/views/curation.client.view.html',
resolve: {
publicFronts: function($stateParams, frontsService) {
return frontsService.getPublicFronts($stateParams.siteCode);
},
authoringTypes: function(assetMetadata) {
return assetMetadata.authoringTypes().then(function(value) {
return value.data.authoringTypes;
});
}
},
onEnter: function($state, $timeout, userSitePreferences, publicFronts) {
$timeout(function() {
var recentFront = _.find(publicFronts, {
Id: userSitePreferences.curation.recentFrontIds[0]
});
if (recentFront) {
$state.go('site.curation.selectedFront.selectedLayout', {
frontId: recentFront.Id,
layoutId: recentFront.LayoutId
});
}
});
}
});
}
})();
你應該張貼此鏈接的內容,所以如果去不可,其內容還在這裏。 – gustavohenke
我用一些示例代碼更新了我的答案 –
看起來userSitePreferences不再被這種方法識別。 :(感謝您的建議@JeffFairley –