我将把问题分成两个不同的部分。首先,我试图创建一个页面应用程序,其中的主要html页面为index.html。
在此页面中,我有:
<!DOCTYPE html>
<html ng-app="aceTracker">
<head>
<script src="scripts/jquery-2.2.0.min.js"></script>
<script src="scripts/angular/angular.min.js"></script>
<script src="scripts/bootstrap/bootstrap.min.js"></script>
<script src="scripts/app/app.js"></script>
<script src="scripts/controller/controller.js"></script>
<script src="scripts/angular/angular-route.min.js"></script>
<script src="scripts/angular/angular-animate.min.js"></script>
<link href="styles/bootstrap/bootstrap.css" rel="stylesheet" />
<link href="styles/bootstrap/bootstrap-theme.css" rel="stylesheet" />
<link href="styles/default.css" rel="stylesheet" />
<title></title>
<meta charset="utf-8" />
</head>
<body ng-controller="loginController">
<div ng-view></div>
</body>
</html>
然后,我创建了一个部分页面,如下所示:
<div class="container-fluid" id="login" ng-controller="loginController">
<div class="row">
<form ng-animate="{enter: 'animate-enter'}" name="loginForm" ng-submit="" autocomplete="off" class="text-center col-lg-4 col-lg-offset-4" style="padding: 300px 50px 0px 50px ;">
<div class="col-lg-12">
<img src="../images/473d5e6a.canvs_logo_white.svg" style="padding-bottom:30px;" />
</div>
<div class="col-lg-12">
<input id="email" name="email" type="email" ng-model="" placeholder="Email" class="login">
</div>
<div class="col-lg-12">
<input id="password" type="password" ng-model="" placeholder="Password" class="login">
</div>
<div class="col-lg-12">
<button type="submit" class="login-button" ng-click="Login()">
<span>Login</span>
</button>
</div>
</form>
</div>
</div>
现在,在Javascript中,我有一个名为app.js的文件,看起来像:
var app = angular.module('aceTracker', ['ngAnimate','ngRoute']);
app.config(function ($routeProvider) {
$routeProvider
// route for the home page
.when('/index.html', { templateUrl: 'partials/login.html', controller: 'loginController'})
// route for the about page
.when('/about.htmll', { templateUrl: 'pages/about.html', controller: 'aboutController' })
});
当我加载index.html页面时,我要加载的部分是login.html,这似乎不起作用?
有任何想法吗?
我认为,您的应用程序正在执行以下操作。如果加载www.host.com/yoursite/index.html,则使用路由“ /”加载应用程序。
要转到您的index.html路由,该网址应类似于:www.host.com/yoursite/#/index.html
因此,要使其工作,只需将'/index.html'路由更改为'/'路由
$routeProvider
// route for the home page
.when('/', { templateUrl: 'partials/login.html', controller: 'loginController'})
// route for the about page
.when('/about', { templateUrl: 'partials/about.html', controller: 'aboutController' })
您还可以添加默认路由,以使没有人会误进入部分渲染的视图。我建议您看一下如何定义路由的示例:
http://www.w3schools.com/angular/angular_routing.asp
另外,无论何时您要填补有角度的本机路由不足以满足您的需要,我都建议您查看以下替代方法:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句