javascript - Angular 路由导致 IE 死循环

标签 javascript angularjs internet-explorer-8

当我在 Internet Explorer 10 中查看代码时,我收到以下错误(它不一定以标准模式呈现,由于页面的服务方式,这超出了我的控制范围)。

http://errors.angularjs.org/1.2.28/$rootScope/infdig

这是我使用的路由:

phoneApp.config(['$routeProvider', '$locationProvider',
  function($routeProvider, $locationProvider){
    $routeProvider
      .when('/sap.com~home~phonelist/pages/index.html', {
        templateUrl: '/sap.com~home~phonelist/pages/landing.html',
        controller: 'SearchController'
      })
      .when('/sap.com~home~phonelist/pages/', {
        templateUrl: '/sap.com~home~phonelist/pages/landing.html',
        controller: 'SearchController'
      })
      .when('/sap.com~home~phonelist/pages/singleEmployee/:id', {
        templateUrl: '/sap.com~home~phonelist/pages/singleEmployee.html',
        controller: 'SingleEmployeeController'

      });

      $locationProvider.html5Mode(true);
  }]);

我的索引中的基本 href:<base href="/" /> 也是页面中唯一的重复:

<tr ng-repeat="employee in filteredEmployees = (employees | filter:search.currentFilter | orderBy:user.ordering:reverse)">
    <td> <a class="fakeLink" href="singleEmployee/{{$index}}">{{ employee.name }}</a></td>
    <td class="location">{{ employee.userID }}</td>
    <td class="district">{{ employee.department }}</td>
    <td class="jobTitle">{{ employee.jobTitle }}</td>
    <td class="emailAddress">{{ employee.email }}</td>
    <td class="workPhone"><a class="fakeLink" href="tel:{{employee.phone}}">{{ employee.phone }}</a></td>
</tr>

该页面在 Chrome 中加载正常,但当我尝试在 IE 中打开它时,没有任何加载。我已经检查了 ng-repeat 上的 html,以确保我没有调用创建新数组的方法。当我使用开发人员工具检查时,基本 href 似乎被无休止地调用。关于可能导致此错误的原因有什么想法吗?

最佳答案

这是两个问题的组合。第一,改变

$locationProvider.html5Mode(true);

$locationProvider.html5Mode(false);

评论中的贝蒂是正确的,IE 在旧版本中使用此方法存在问题。除此之外,您还需要为 / 创建一条新路由。如果您在启动 Angular 路线时遇到问题,除了 when 之外,您还可以调用 otherwise 来设置路线。 angular documentation 中有关于这种路由风格的更多信息。 .

关于javascript - Angular 路由导致 IE 死循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30877527/

相关文章:

javascript - 尝试使用 javascript 从 api 获取数据

javascript - 如何在网页上显示ipv6地址?

javascript - WoW API 和 underscore.js/javascript 'Unexpected reserved word' 问题

javascript - NG 包含范围

internet-explorer - ie8 标准兼容模式下的 css box-sizing

select - 悬停时 IE8 和 IE9 选择框会自行关闭

javascript - Jquery - 尝试将数据发送到Ajax,但数据为空

javascript - 如何在 AngularJS 1.4.4 中设置页面标题

javascript - 无法对表中的日期列进行排序

html - 如何以编程方式禁用 IE 兼容模式?