一旦我的子状态控制器被实例化,它就不会再次在$state.go
我的路由器布局
.state('hotelsearch', {
url: '/search',
abstract: true,
views:{
'': {
templateUrl: "app/components/layout/layout.html"
},
"header@hotelsearch": {
templateUrl: "app/components/search/search.html"
},
"footer@hotelsearch": {
templateUrl: "app/components/footer/footer.html"
}
}
})
.state('hotelsearch.hotel', {
url: '',
views:{
'':{templateUrl: 'app/components/search/searchHotel.html'},
}
})
.state('hotelsearch.hotel.main', {
url: '',
views:{
"main@hotelsearch": {
templateUrl: 'app/components/hotel/hotelSearch.html',
controller:"hotelResult"
},
},
})
.state('hotelsearch.flight', {
url: '',
templateUrl: 'app/components/search/searchFlight.html',
})
布局
<div ui-view="header"></div>
<div ui-view="main"></div>
<div ui-view="footer"></div>
状态呼吁成功解决承诺
.then(function(response){
console.log(response.data.message);
if(response.data.message==="Success"){
$state.go('hotelsearch.hotel.main');
}
控制器hotelResult
function hotelResult(dataservice,$scope,$stateParams){
console.log($stateParams);
dataservice.makeRequestForHotel()
.then(function(response){
console.log(response);
$scope.data=response.data.HotelGroup[0].City;
});
}
我知道控制器第二次没有重新加载,因为console.not工作。
我尝试了什么:
我正在寻找的只是选择性重新加载一个单独的状态子控制器