internet-explorer - 如何让 AngularJS 路由在 IE 8 上工作

标签 internet-explorer angularjs routing routes

我有一个刚刚开始的干净的 AngularJS 1.2.8 应用程序。路由不适用于 IE 8,但它适用于所有其他浏览器(包括 IE 9)。控制台中没有错误。 Angular 只是不会触发路由。

有人可以指出我正确的方向吗?我已经看过 Angular's IE 8 doc并按照指示无济于事。

HTML...

<!doctype html>
<html id="ng-app" data-ng-app="app">
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta charset="utf-8">
    <title>Learning Content Portal</title>
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width">

    <link rel="stylesheet" href="css/bootstrap.min.css">
    <link rel="stylesheet" href="css/main.css">
</head>
<body>
    <div class="container"> 
        <!-- placeholder for views -->
        <div data-ng-view></div>
    </div> <!-- /container --> 

    <script src="js/vendor/jquery-1.10.1.min.js"></script> 
    <script src="js/vendor/json3.min.js"></script> 
    <script src="js/vendor/bootstrap.min.js"></script> 
    <script src="js/vendor/angular/angular.min.js"></script> 
    <script src="js/vendor/angular/angular-route.min.js"></script> 

    <script src="js/app.js"></script> 

</body>
</html>

和 app.js ......
var app = angular.module('app', ['ngRoute']);

app.config(function ($routeProvider) {
    $routeProvider
        .when('/searchCourses', {
            templateUrl: 'partials/searchCourses.html',
            controller: 'controller_searchCourses'
        })
        .when('/editCourse', {
            templateUrl: 'partials/editCourse.html',
            controller: 'editCourseController'
        })
        .otherwise({ redirectTo: '/searchCourses' });
});

app.controller('controller_searchCourses', function ($scope) {
    alert('test');
});

还有一个部分,但我认为这并不重要,因为它永远不会触发警报(或加载部分)。
<div class="container">
    <div>
        Course Count: {{courses.length}}
        <ul>
            <li data-ng-repeat="course in courses | orderBy:course.name">{{ course.name }}</li>
        </ul>
    </div>

    <br />

    <div>
        Name: <input type="text" data-ng-model="newCourse.name" /><br />
        Owner: <input type="text" data-ng-model="newCourse.owner" /><br />
        Code: <input type="text" data-ng-model="newCourse.code" /><br />
        Status: <input type="text" data-ng-model="newCourse.status" /><br />
        <br />
        <button class="btn btn-default" data-ng-click="addCourse()">Add New Course</button>
    </div>
</div>

最佳答案

您没有在 html 中指定命名空间
<html xmlns:ng="http://angularjs.org">
并且文档说这是必需的。

关于internet-explorer - 如何让 AngularJS 路由在 IE 8 上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21146804/

相关文章:

html - <选项选择 = "selected"> IE9 中的问题

html - 自定义字体宽度未在 Internet Explorer 11 中正确呈现

javascript - Angular传单指令问题: other parts besides the map does't show the second time entering the page

routing - 重定向模块/ Action /到模块/ Action

asp.net-mvc - 301 重定向在路由匹配之后但在 Controller 执行之前

css - 在 Firefox 和 IE 中,-webkit-print-color-adjust 的替代项是什么

javascript - Internet Explorer 中的 Json 响应问题

angularjs - 混淆 $locationChangeSuccess 和 $stateChangeStart

javascript - 如何在 AngularJS 中设置 cookie 的过期日期

javascript - 通过 Passport 实例的快速路由中的路由分离