1

AngularJS 的新手在这里。

我使用 Yeoman、grunt 和 bower 创建了一个 AngularJS 应用程序。

索引页面包含一些样式以及 ng-app 和 ng-view。

索引.html

<html>
  <head>
      <!-- CSS Imports -->
   </head>
   <body ng-app="MyApp1">
      <div>
          //Some divs here to  have some styles

          <div ng-view></div>
      </div>
    </body>
    <!--importing AgularJS, app.js, controller JS files -->
</html>

应用程序.js

'use strict';

angular.module('MyApp1', [])
  .config(function ($routeProvider,$locationProvider) {
    $routeProvider
        .when('/', {
          redirectTo: '/main'
        })
      .when('/invoice', {
        templateUrl: 'views/invoice.html',
        controller: 'UploadController'
      })
      .when('/main', {
        templateUrl: 'views/main.html',
        controller: 'MainCtrl'
      })
      .when('/login', {
            templateUrl: 'views/login.html',
          })
      .otherwise({
        redirectTo: '/main'
      });
//    $locationProvider.html5Mode(true);
  });

    angular.module('LoginApp', [])
    .config(function ($routeProvider,$locationProvider) {

    });

索引页面ng-view将显示 invoice.html 或 main.html。默认为main.htmlmain.html

<div class="hero-unit">
  <a ng-href="views/login.html" target="_self">Login</a>
  <br>
  <a ng-href="#invoice">New Document</a>

</div>

好的。在此main.html,我有两个链接。其次是发票链接。无论如何,它都会显示在index.html ng-view中。控制器UploadController属于MyApp1模块。它有单独的 JS 文件。它工作正常。

第一个链接指向另一个HTML页面。它的login.html。它还有另一个ng-app名为LoginApp。这两个模块都是独立的并且在不同的页面中。

当我单击第一个链接时,它转到login.html。但在 URL 中它显示为http://localhost:9000/views/login.html. 但我希望它显示为http://localhost:9000/login,就像其他 main.html ( http://localhost:9000/#/main) 一样。当我编辑链接 时,<a ng-href="#login">Login</a>它不起作用。

而且$locationProvider.html5Mode(true);也不适合我。

4

1 回答 1

1

将 login.html 放到与 index.html 相同的文件夹中。

我认为不可能路由到另一个模块。但是,此 login.html 的路由规则不适用于(外部)页面。

于 2014-01-03T07:27:57.803 回答