我正在使用Bootstrap和angular js开发一个管理员应用程序。我正在使用导航栏作为标题。对于每个链接,它应该加载不同的页面。如何在不重新加载导航栏的情况下加载每个页面。
附上我的索引文件代码。我已经在每个文件中复制了导航栏代码(所有site.html)。我知道这不是一个合适的解决方案。我可以知道,有什么选择可以做到这一点。
<!DOCTYPE html>
<html lang="en">
<head>
<title></title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet"
href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script
src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script
src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
</head>
<body>
<nav class="navbar navbar-default ">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#"> Radar </a>
</div>
<ul class="nav navbar-nav">
<li class="active"><a href="index.html">Dashboard</a></li>
<li><a href="pages/site1.html">site1</a></li>
<li><a href="pages/site2.html">site2</a></li>
<li><a href="pages/site3.html">site3</a></li>
<li><a href="pages/site4.html">site4</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="#"><span class="glyphicon glyphicon-user"></span>
Hi Anand </a></li>
<li><a href="#"><span class="glyphicon glyphicon-log-in"></span>
Login</a></li>
</ul>
</div>
</nav>
</body>
</html>
答案 0 :(得分:1)
您可以使用添加了div的代码创建母版页。然后在div中加载我们的其他页面。
...
<head>
<title></title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet"
href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<script
src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
<script
src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
</head>
<body>
<nav class="navbar navbar-default ">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="#"> Radar </a>
</div>
<ul class="nav navbar-nav">
<li class="active"><a href="index.html">Dashboard</a></li>
<li><a href="pages/site1.html">site1</a></li>
<li><a href="pages/site2.html">site2</a></li>
<li><a href="pages/site3.html">site3</a></li>
<li><a href="pages/site4.html">site4</a></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><a href="#"><span class="glyphicon glyphicon-user"></span>
Hi Anand </a></li>
<li><a href="#"><span class="glyphicon glyphicon-log-in"></span>
Login</a></li>
</ul>
</div>
</nav>
<div id="pagediv">
</div>
javascript示例:
document.getElementById("pagediv").innerHTML='<object type="text/html" data="pages/site1.html" ></object>';
答案 1 :(得分:1)
制作标题并为其附加控制器。并且在标题之后保留单独页面的出口。这样,所有链接都会在插座中加载模板,标题将不会重新加载。
答案 2 :(得分:1)
使用ui路由器维护状态。它具有父状态和子状态的概念。在您的代码中,父将是navbar,而子将是site.html页面。 因此,所有网站页面都会有通用的导航栏。