In this plunk,您有两个ui路由器状态,即父级和子级。当通过单击链接调用子项时,由于它具有reload: true选项,因此始终会重新加载该子项。很好,但是问题在于父状态也被重新加载。尝试多次单击“Populate 11”链接,您会看到父时间戳也发生了变化。

我怎样才能只给 child 装弹?

Javascript:

var app = angular.module("app", ['ui.router']);

app.config(function($stateProvider, $urlRouterProvider) {

  $urlRouterProvider.otherwise("/");

  $stateProvider
    .state('state1', {
          templateUrl: 'state1.html',
          controller: function($scope) {

            $scope.theTime1 = Date.now();

          }
    })
    .state('state1.state11', {
          templateUrl: 'state11.html',
          controller: function($scope) {

               $scope.theTime11 = Date.now();

         }
    });

});

最佳答案

实际上非常简单。

不要使用reload,因为它确实可以满足您的要求。它会重新加载该路线的所有内容。

而是在子路由中添加一个参数,每次单击链接时,请确保更改该参数。这将强制重新加载子状态。

我用一个例子更新了您的朋克。我只是添加了num参数,并在每次单击链接时增加了count变量。

http://plnkr.co/edit/qTA39rrYFYUegzuFbWnc?p=preview

10-07 23:20