无法让 ng-controller 在 angular 应用程序中工作

Cannot get ng-controller to work in angular app

我刚刚开始自己​​学习网络开发,但我 运行 遇到了一个问题,即我的整个应用程序或只是一个控制器无法合作。

prototype.js中,我声明应用程序:

    var cds = angular.module('cds', ['ngRoute']);

    cds.config(function($routeProvider) {
      $routeProvider
        .when('/', {
            controller: 'appCtrl',
            templateUrl: 'partials/login.html'
        })
        .otherwise({
            redirectTo: '/'
        });
      });

    cds.controller('appCtrl', ['$scope', function($scope) {
        $scope.pageClass = 'page-login';
        $scope.list = [
            {name: 'One', description: 'I'},
            {name: 'Two', description: 'II'},
            {name: 'Three', description: 'III'},
            {name: 'One More', description: 'Extra'}
        ];
    }]); 

在我的 HTML 文件中:

<!DOCTYPE html>
    <html ng-app='cds'>
    <head>
        <title>References</title>
        <meta charset="utf-8">
        <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
        <script src="js/prototype.js"></script>
        <style type="text/css">
        @import url("styles.css");
        </style>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
        <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.8/angular.min.js"></script>
        <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
        <link rel="stylesheet" href="css/font-awesome.css">
    </head> 

    <body ng-controller='appCtrl' onload="align()" onresize="align()">
        {{ pageClass }}
        <div ng-view></div>
        <div id="dropdown">
            <button class="drop-btn">Options</button>
            <div class="dropdown-content">
                <a href="#/body_diagram"><img src="img/header.menu.png"></a>
            </div>
        </div>
    </body>
    </html>

出于某种原因,{{ pageClass }} 甚至不会显示我在控制器中分配给它的值,更不用说 ng-view 元素了。之前,我遵循了一个非常古老的路由教程,其中仅使用 angular.module('myApp', ...) 声明了应用程序,并且所有控制器都作为独立于 angular 应用程序的独立功能制作,一切对我来说都很好。然而,在从 angular 1.0.7 跳到 1.5.8 之后(这是一个很长的故事,也是一个新手错误),我尝试更新样式并清理我的代码,结果就是这样。我觉得我在这里遗漏了一些非常基本的东西。

编辑:

原来我忘了包含 ng-route。德普。现在一切正常。谢谢大家!

您似乎缺少 ngRoute 模块。您可以通过 CDN link 访问它:

http://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular-route.min.js

这是添加了依赖项的 fiddle

嘿,一定要包含 ngRoute,也许将脚本包含在正文的底部...通过这样做让你的 fiddle 工作