javascript - ngRoute 不工作

标签 javascript html angularjs ngroute

我正在创建一个 Angular 应用程序。文件结构如下:

index.html
login.html
js/index.js

index.html内容为

<html>
    <head>
        <meta charset="utf-8" />
        <meta name="format-detection" content="telephone=no" />
        <meta name="msapplication-tap-highlight" content="no" />
        <!-- WARNING: for iOS 7, remove the width=device-width and height=device-height attributes. See https://issues.apache.org/jira/browse/CB-4323 -->
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />

        <link rel="stylesheet" type="text/css" href="css/index.css" />
        <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" />

        <title>Hello World</title>


        <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
        <script href="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js" ></script>
        <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular-route.min.js"></script>
        <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js" ></script>

    </head>
    <body ng-app="single-page-app">
    <div ng-view>   </div>
        <script type="text/javascript" src="cordova.js"></script>
        <script type="text/javascript" src="js/index.js"></script>
    </body>
</html>

js/index.js内容为

var app1=angular.module('single-page-app',['ngRoute']);
app1.config(function($routeProvider){
      $routeProvider
          .when('/',{
                templateUrl: '../login.html'
          }).otherwise()
});

login.html的内容是

<form class="form-horizontal"  style="position:absolute;top:30%;left:20%">
  <div class="form-group col-xs-offset-2">
    <label for="userName" class="col-xs-3 control-label">UserName</label>
    <div class="col-xs-7">
      <input type="text" class="form-control col-xs-offset-1" id="userName" placeholder="UserName">
    </div>
  </div>
  <div class="form-group col-xs-offset-2">
    <label for="password" class="col-xs-3 control-label">Password</label>
    <div class="col-xs-7">
      <input type="password" class="form-control col-xs-offset-1" id="password" placeholder="Password">
    </div>
  </div>

  <div class="form-group">
    <div class=" col-xs-12">
      <button type="submit" class="btn btn-default col-xs-offset-4">Sign in</button>
    </div>
  </div>
</form>

当我使用 python -m SimpleHTTPServer 在服务器上打开 index.html 时, 中没有 login.html 文件的内容>index.html。谁能告诉我为什么 ng-route 在上述情况下不起作用??

最佳答案

第一个:templateUrl应该相对于应用程序根目录。我不认为../login.html有效。

如果模板位于网站根目录中,试试这个

var app1=angular.module('single-page-app',['ngRoute']);
app1.config(function($routeProvider){
  $routeProvider
      .when('/',{
            templateUrl: '/login.html' // the edited line
      }).otherwise()
});

第二:从 Angular 1.3 开始,一个 <base>标签应添加到 <head>部分。

<base href="/">

关于javascript - ngRoute 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29192684/

相关文章:

html - 我的形象不会动起来?

javascript - 在 AngularJS 中读取 JSON 文件时出错

javascript - 在 angularjs 中解析非 $q promise 后自动应用 $scope 更改(触发摘要)

JavaScript 函数 : Applying Apply

javascript - 是否为每个嵌套函数创建了一个单独的闭包实例?

html - 如何准确地将内容置于其父级的中心?

javascript - Angular 翻译指令中的 XSS

强制严格键入、分号和验证代码的 Javascript IDE,如 JSLint(或 : that adds the advantages of a compiler to Javascript)?

javascript - 带有 xml 的两个按钮 javascript(需要一些帮助)

html - 页面加载时的随机 Div 顺序