javascript - Angular 路由不起作用

标签 javascript angularjs stack mean-stack

我正在尝试使用 MEAN 堆栈构建我的第一个 Web 应用程序,但我遇到了 Angular 路由问题。

    <!-- public/index.html -->
    <!DOCTYPE HTML>
    <html lang="en" content-type="text/css">
    <head name="viewport" content="width=device-width, initial-scale=1">
        <meta charset="UTF-8">
        <base href="/">

        <title>Trova colori in tinta</title>

        <!-- CSS -->
        <link rel="stylesheet" href="libs/bootstrap/dist/css/bootstrap.min.css">
        <link rel="stylesheet" href="css/style.css"> <!-- custom styles -->
         <link rel="stylesheet" href="normalize.css"> <!-- custom styles -->

        <!-- JS -->
        <script type="text/javascript" src="libs/angular/angular.min.js"></script>
        <script type="text/javascript" src="libs/angular-route/angular-route.min.js"></script>

        <!-- ANGULAR CUSTOM -->

        <script type="text/javascript" src="js/controllers/MainCtrl.js"></script>
        <script type="text/javascript" src="js/controllers/NerdCtrl.js"></script>
        <script type="text/javascript" src="js/services/NerdService.js"></script>


        <script type="text/javascript" src="js/appRoutes.js"></script>
        <script type="text/javascript" src="js/app.js"></script>

    </head>
    <body >
    <div class="container" ng-app="sampleApp" ng-controller="NerdController">

        <!-- HEADER -->
        <nav class="navbar navbar-default" >
            <div class="navbar-header">
                <a class="navbar-brand" href="/">Colori</a>
            </div>

            <!-- LINK TO OUR PAGES. ANGULAR HANDLES THE ROUTING HERE -->
            <ul class="nav navbar-nav">
                <li><a href="/nerd">Nerds</a></li>
                <li><a href="/lacci">lacci</a></li>
            </ul>
        </nav>
    <div class="container-fullwidth"></div>
        <!-- ANGULAR DYNAMIC CONTENT -->
        <div ng-view></div>

    </div>
    </body>
    </html>

当我点击“Nerds”或“lacci”链接时,它不会显示这些页面。

这是文件 appRoute.js

    angular.module('appRoutes', []).config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider.when('/', {
            templateUrl: '/public/views/home.html',
            controller: 'MainController'
        }) // nerds page that will use the NerdController
      .when('/nerds', {
            templateUrl: '/public/views/nerd.html',
            controller: 'NerdController'
        }).when('/lacci', {
            templateUrl: '/public/views/lacci.html',

        }).otherwise({ redirectTo: "/home" });

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

这两个文件位于不同的文件夹中。 我哪里错了?

最佳答案

我认为您忘记注入(inject)'ngRoute'

angular.module('appRoutes', ['ngRoute']).config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider.when('/', {
            templateUrl: '/public/views/home.html',
            controller: 'MainController'
        }) // nerds page that will use the NerdController
      .when('/nerds', {
            templateUrl: '/public/views/nerd.html',
            controller: 'NerdController'
        }).when('/lacci', {
            templateUrl: '/public/views/lacci.html',

        }).otherwise({ redirectTo: "/home" });

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

关于javascript - Angular 路由不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44979589/

相关文章:

java - 使用堆栈和队列对数组进行排序

azure - Azure 是用什么堆栈/编程语言编写的?

javascript - 创建变量链接作为超链接 javascript

javascript - 弹出表单未出现在 Bootstrap 网站中

javascript - AngularJS:带有占位符和 ng-model 的输入[数字]

angularjs - 如何在Chrome浏览器中调试AngularJS

javascript - 表单验证验证后不会提交

javascript - PHP从互联网获取日期和时间

javascript - angularjs 无法加载 jaydata 模块

java - 复制栈顶元素Java