我使用Yeoman,grunt和bower创建了一个AngularJS应用程序。
索引页面包含一些样式和ng-app以及ng-view。
的index.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>
app.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.html
。
的 main.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 。它有另一个名为 LoginApp 的ng-app
。这两个模块都是独立的,并且有不同的页面。
当我点击第一个链接时,会转到 login.html 。但在网址中,它显示为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);
也不适合我。
答案 0 :(得分:1)
将login.html放在index.html等相同的文件夹中。
我认为不可能路由到另一个模块。但是,login.html的此路由规则将不适用于(外部)页面。