如何使嵌套的ui-router在每次路由更改时执行子控制器

时间:2015-12-22 12:18:38

标签: angularjs ionic-framework angular-ui-router ionic

以下是我的ui-router配置。我希望每次更改子状态时都会执行子控制器。 但是现在,只有在我第一次改变子状态时才执行子控制器。

有人可以帮助我吗?

 $stateProvider
    .state('tab', {
        url: '/tab',
        abstract: true,
        templateUrl: 'views/tabs.html'
    })
    .state('tab.order-foods',{
        url:'/order-foods',
        views:{
            'tab-order-foods':{
                templateUrl:'../views/tab-order-foods.html',
                controller:'orderFoodsCtrl'
            }
        }
    })
    .state('tab.cart',{
        url:'/cart',
        views:{
            'tab-cart':{
                templateUrl:'../views/tab-cart.html',
                controller:'cartCtrl'
            }
        }
    })
    .state('tab.orders',{
        url:'/orders',
        views:{
            'tab-orders':{
                templateUrl:'views/tab-orders.html',
                controller:'ordersCtrl'
            }
        }
    })
    .state('tab.mine',{
        url:'/mine',
        views:{
            'tab-mine':{
                templateUrl:'views/tab-mine.html',
                controller:'mineCtrl'
            }
        }
    });
$urlRouterProvider.otherwise('/tab/order-foods');

1 个答案:

答案 0 :(得分:0)

检查这些:

你会看到,离子确实为我们缓存了所有的东西。为了避免我们可以

  • 避免cache: false,
  • 缓存
  • 使用$ionicConfigProvider.views.maxCache(0);
  • 禁用缓存
  • 或保持缓存原样,让控制器只执行一次......在这些View LifeCycle和Events期间做一些聪明的事情