我在angular1中面临一个非常特殊的问题,可能需要很多背景来理解某人的回答。我现在已经在角度工作了大约4周,但是一个非常奇怪的问题让我感到困惑。
我在页面上有一个左侧垂直菜单,点击它会加载页面右侧的内容。
每次点击我都会启动状态。在这种情况下
$state.go("contrat-synthese", {
id: offer.refEboard
}, {
reload: true
});
上面的代码片段位于对点击有效的函数内。
国家" contrat-synthese"如下所示
angular.module('engcApp').config(['$stateProvider', function($stateProvider) {
var lotSelectionState = "synthese-lot";
$stateProvider.state('contrat-synthese', {
parent: 'contrat-lots-resume',
url: '/synthese',
views: {
'content@contrat-lots-resume': {
templateUrl: 'app/entities/views/synthese/synthese.html',
},
'synthese-detail@contrat-synthese': {
templateUrl: 'app/entities/views/synthese/synthese-details.html',
controller: 'ContratSyntheseDetailsController',
controllerAs: 'vm'
},
'synthese-lots-navigation@contrat-synthese': {
templateUrl: 'app/entities/views/common/contrat-lots-navigation.html',
controller: 'ContratLotsNavigationController',
controllerAs: 'vm',
resolve: {
afficherLotComplet: function() {
return false;
},
afficherAnneeComplet: function() {
return false;
},
afficherSelectionAnnee: function() {
return true;
},
afficherLots: function() {
return true;
},
stateNameToUse: function() {
return lotSelectionState;
}
}
},
'synthese-services@contrat-synthese': {
templateUrl: 'app/entities/views/synthese/synthese-services.html',
controller: 'ContratSyntheseServicesController',
controllerAs: 'vm'
}
}
}).state(lotSelectionState, {
parent: "contrat-synthese",
params: {
lots: null
},
views: {
'synthese-composition-lot@contrat-synthese': {
templateUrl: 'app/entities/views/synthese/synthese-composition.html',
controller: 'ContratSyntheseCompositionController',
controllerAs: 'vm'
},
'synthese-volumes-lot@contrat-synthese': {
templateUrl: 'app/entities/views/synthese/synthese-volumes.html',
controller: 'ContratSyntheseVolumesController',
controllerAs: 'vm'
},
'synthese-modules-lot@contrat-synthese': {
templateUrl: 'app/entities/views/synthese/synthese-modules.html',
controller: 'ContratSyntheseModulesController',
controllerAs: 'vm'
},
'synthese-formules-lot@contrat-synthese': {
templateUrl: 'app/entities/views/synthese/synthese-formules.html',
controller: 'ContratSyntheseFormulesController',
controllerAs: 'vm'
},
}
});
}]);
但是当我调用状态继续页面加载时,它无法在上面的合成状态中加载 lotSelectionState 。
我只是不明白为什么当我从外面打电话时它无法加载状态。
当我再次点击左侧横幅上的链接时,也未加载子状态。
解决方案我尝试了第二种情况,我尝试了以下方法:
state.go("contrat-synthese", {
id: offer.refEboard
}, {
reload: true
});
但是为什么我无法加载子状态?我很困惑:(
如果需要,可以提供更多解释。