angular ng-include 指令的使用
ng-include 指令用于包含外部的 HTML 文件。 包含的内容将作为指定元素的子节点。 ng-include 属性的值可以是一个表达式,返回一个文件名。 默认情况下,包含的文件需要包含在同一个域名下。
下面给出一个例子具体分析一下,是如何实现这一过程的:
页面首页:
<html>
<head>
<meta charset="UTF-8">
<title>document</title>
<script type="text/javascript" src="js/angular.min.js"></script>
</head>
<body ng-app="">
<div id="header_id" ng-include="'include/header.html'"></div>
<div>我是body内容</div>
<div ng-include="'include/main_footer.html'"></div>
</body>
</html>
头部分离:
<header>
<div class="logo f_l">
<a href="#">
<img src="images/logo.png">
</a>
</div>
<nav id="topnav" class="f_r">
<ul id="topnav_id">
<a href="index.html" id="topnav_current">首页</a>
<a href="knowledge.html" >技术博客</a>
<a href="new.html" >情感生活</a>
<a href="moodlist.html" >旅游风景</a>
<a href="knowledge1.html" >爱好娱乐</a>
<a href="knowledge2.html" >英文学习</a>
<a href="knowledge3.html" >网站留言</a>
</ul>
</nav>
</header>
<script type="text/javascript">
var href_a_num= String(window.location).split("/");
var href_a=href_a_num[href_a_num.length-1];
// console.log("location:"+href_a);
$("#topnav_id a").each(function(i){
var href_this_a=$(this).attr("href");
//console.log("href:"+$(this).attr("href"));
if(href_this_a==href_a){
$(this).attr("id","topnav_current");
}else{
$(this).removeAttr("id");
}
});
</script>
底部分离:
<footer>
<p class="ft-copyright">强仔仔 Design by Linzhiqaing 蜀ICP备11002373号-1</p>
<div id="tbox">
<div id="log_id" style="float:left;position: relative;margin-left: -400px;margin-bottom:-5px;display: none">
<img src="images/weixing-ma.jpg">
</div>
<div style="float:right;"><a id="togbook" href="#"></a></div>
<div style="float:left"><a id="gotop"></a></div>
</div>
</footer>
<script type="text/javascript">
$("#gotop").click(function () {
var speed=200;//滑动的速度
$('body,html').animate({ scrollTop: 0 }, speed);
return false;
});
$("#togbook").on('mouseover',function(){
$("#log_id").css("display","block");
});
$("#togbook").on('mouseout',function(){
$("#log_id").css("display","none");
});
</script>
注意:很坑的一个地方是,<div ng-include="'include/main_footer.html'"></div> 引入文件直接双引包含是不会成功的,文件的名称必须还需要''包含
上面的例子是不是特别简单啊,这就是AngularJS的强大之处。