Javascript 角度1.5.x布线不工作

Javascript 角度1.5.x布线不工作,javascript,angularjs,angular-routing,Javascript,Angularjs,Angular Routing,我已经研究了几十个关于角度布线的问题,但都没能解决。如果我忽略了什么,我道歉。我一直在尝试使用Angularjs官方教程和种子库来启动一个简单的应用程序。此代码托管在web服务器上,但为此,我将代码复制到Plunker。代码也在下面-感谢您提供的任何见解 Index.html <!DOCTYPE html> <html ng-app> <head> <script src="https://ajax.googleapis.com/ajax/

我已经研究了几十个关于角度布线的问题,但都没能解决。如果我忽略了什么,我道歉。我一直在尝试使用Angularjs官方教程和种子库来启动一个简单的应用程序。此代码托管在web服务器上,但为此,我将代码复制到Plunker。代码也在下面-感谢您提供的任何见解

Index.html

<!DOCTYPE html>
<html ng-app>

  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.11/angular.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.11/angular-route.js"></script>
    <script type="text/javascript" src="script1.js"></script>
    <script type="text/javascript" src="script2.js"></script>
    <script type="text/javascript" src="script3.js"></script>
  </head>

  <body>
    <header ng-include="'header.html'"></header>
    <div ng-view></div>
  </body>

</html>
脚本2

angular.module('home', ['ngRoute'])

.config(['$routeProvider', function ($routeProvider) {
    $routeProvider.when('/', {
        templateUrl : 'home.html',
        controller : 'homeCtrl'
    });
}])

.controller('homeCtrl', [function ($scope) {
    $scope.location = 'USA';
}]);
脚本3

angular.module('faq', ['ngRoute'])

.config(['$routeProvider', function ($routeProvider) {
    $routeProvider.when('/faq', {
        templateUrl : 'faq.html',
        controller : 'faqCtrl'
    });
}])

.controller('faqCtrl', [function ($scope) {
    $scope.question = 'Who am I?';
}]);

您的应用程序中有一些输入错误/遗漏:

在index.html中,您在
ng app
中缺少应用程序名称:

<html ng-app="testApp">
而不是:

.controller('homeCtrl', [function ($scope) {
最后,在home.html和faq.html中,根本不要使用
ng controller
。在管线定义中,指定要用于每条管线的控制器。在模板中再次指定它将导致实例化第二个控制器


谢谢-我看到您所做的更改修复了Plunker链接中的代码。但是,当我在我的web服务器上编辑代码时,特别是将
更改为
,结果却相反,整个页面变为空白,甚至连页眉片段也不见了。将其更改回仅
将返回页眉。有什么想法吗?你传递给
ng app
的名称应该与你的应用程序主模块的名称匹配。在上面的代码中是“ng app”(来自脚本1)。在您真正的应用程序中,可能您使用了不同的名称?是的,名称与模块名称匹配。我不明白为什么在真正的应用程序上,这种行为会和Plunker有什么不同。在做了你建议的编辑之后,我离开了这个问题几分钟,结果它成功了。非常感谢你,我已经把自己逼疯了。我在看一个以Angular 1.2.x为指导编写的应用程序,我认为我遗漏的一件大事是在1.2.x依赖注入之后需要显式而不是隐式。
angular.module('faq', ['ngRoute'])

.config(['$routeProvider', function ($routeProvider) {
    $routeProvider.when('/faq', {
        templateUrl : 'faq.html',
        controller : 'faqCtrl'
    });
}])

.controller('faqCtrl', [function ($scope) {
    $scope.question = 'Who am I?';
}]);
<html ng-app="testApp">
.controller('homeCtrl', ['$scope', function ($scope) {
.controller('homeCtrl', [function ($scope) {