Angular UI路由器:后退按钮不适用于简单代码

时间:2014-07-17 16:49:44

标签: angularjs angular-ui-router

这个简单的代码有两个链接,"状态1"和"状态2"。

当我点击"状态1"时,它打印出"这是第一个状态"。 当我点击"状态2"时,它打印出"这是第二个状态"。

但是当我点击我的浏览器的后退按钮时,它仍然说"这是第二个状态"。不应该改为"这是第一个状态"?

CodePen:http://codepen.io/anon/pen/bCohi

代码:

<html>
<head>
  <script src='https://ajax.googleapis.com/ajax/libs/angularjs/1.2.20/angular.min.js'></script>  
  <script type="text/javascript" src='http://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.10/angular-ui-router.js'></script>
</head>
<body ng-app="myApp">
  <a ui-sref="state1">State 1</a>
  <a ui-sref="state2">State 2</a>
  <br>
  <ui-view></ui-view>
  <script>
  var myApp = angular.module("myApp", ['ui.router']);

  myApp.config(function($stateProvider, $urlRouterProvider) {
    var stateProvider = $stateProvider;
    stateProvider.state('state1', {
      url: 'state-1',
      template: 'This is the first state'
    });
    stateProvider.state('state2', {
      url: 'state-2',
      template: 'This is the second state'
    });
  });
  </script>
</body>
</html>

1 个答案:

答案 0 :(得分:7)

哦 - 我明白了。

url: 'state-1',
. . . . . . . . . .
url: 'state-2',

应该是

url: '/state-1',
. . . . . . . . . .
url: '/state-2',