ui-router更改,何时删除旧的html

时间:2015-05-08 02:33:30

标签: angularjs angular-ui-router

我在Chrome中对此进行了测试,并在$scope.init的{​​{1}}中添加了一个中断 但是当我从Ctrl2转到route2时,Chrome调试器保持在route1的{​​{1}},但我看到$scope.init仍在那里。

Ctrl2

那么,ui-router如何工作?是不应该转到ctrl1.html,然后执行.state("main.route1", { url: "/route1", controller: 'Ctrl1', templateUrl: 'views/ctrl1.html' }) .state("main.route2", { url: "/route2", controller: 'Ctrl2', templateUrl: 'views/ctrl2.html' }) ?为什么输入ctrl2.htmlCtrl2仍然显示?

我不确定Ctrl2中是否相同,我没有测试过。

1 个答案:

答案 0 :(得分:0)

  1. 检查js控制台以确保角度控制器中没有错误
  2. 将以下run块添加到模块以捕获状态更改错误

    .run(function ($rootScope, $state) {
        $rootScope.$on('$stateChangeStart',
            function(event, toState, toParams, fromState, fromParams){
                console.log(fromState.name + ' to ' + toState.name);
            });
        $rootScope.$on('$stateChangeError', 
            function (event, toState, toParams, fromState, fromParams, error) {
            alert(error);
            event.preventDefault();
        });
    });