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

时间:2016-08-13 00:28:29

标签: javascript angularjs angularjs-routing ng-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', ...)声明了应用程序,并且所有控制器都是独立于角度应用程序的独立功能,一切都运行正常。然而,在从角度1.0.7跳到1.5.8(这是一个长篇故事和一个新手的错误)后,我尝试更新样式并清理我的代码,这就是发生的事情。我觉得我在这里遗漏了一些非常基本的东西。

编辑:

原来我忘了包含ng-route。 DERP。现在一切都很完美。谢谢大家!

2 个答案:

答案 0 :(得分:0)

您似乎错过了ngRoute模块。您可以通过CDN链接到它:

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

这里有一个fiddle,附加了依赖。

答案 1 :(得分:0)

嘿,一定要包括ngRoute,也许把脚本包含在身体的底部......通过这样做让你的小提琴工作