子状态控制器没有在Angular ui-router

时间:2016-05-10 12:57:23

标签: javascript angularjs angular-ui-router

一旦我的子状态控制器被实例化,它就不会再次在$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工作。

我尝试了什么:

    1.解决。
      2.reload:在$ $ state.go`中为true (这会导致重新加载整个视图控制器,因此我获取数据但搜索控制器的建议框中的数据丢失)

      我正在寻找的只是选择性重新加载一个单独的状态子控制器

0 个答案:

没有答案