ng-include可以作为标签或者属性来使用,作用是引入公用文件。

<div ng-include="'header.html'"></div>

注意里面的单引号不要漏了。

第二种使用方法,使用参数作为引用。

$scope.header = '/test/header.html';
<div ng-include="header"></div>

和angualer其他地方的参数使用不同,此处不需要添加双大括号{{}},直接使用就可以。

好了,下面是黑科技了。

以一个无限遍历目录树为例。

第一部分,页面内容部分

<div class="tree">
<i class="glyphicon glyphicon-folder-close"></i>
<a href="javascript:;" ng-right-click="editFolder($event, 0)">
<i></i>
<input type="hidden" value="0">
<span>{{sessionData.jobEnterprise.enterpriseName}}</span>
</a>
<!--<folder-tree current-folder="listData"></folder-tree>-->
<ul>
<li ng-repeat="node in listData" ng-include="'query.html'"> </li>
</ul>
</div>
<div class="right-content" ng-show="rightContent" ng-mouseleave="rightContent = false">
<ul>
<li class="right-content-item" ng-click="rightAdd()">新建</li>
<li class="right-content-item" ng-click="rightUpdata()">重命名</li>
<li class="right-content-item" ng-click="rightDelete()">删除</li>
</ul>
</div>
<div class="folder-text" ng-show="folderText"><input ng-model="folderValue" type="text"><button class="btn btnn-success" ng-click="rightAddOk()">确定</button><button class="btn btnn-info" ng-click="folderText = false"></button></div>
</div>

第二部分,模板部分

<script type="text/ng-template" id="query.html">
<a href="javascript:;" ng-right-click="editFolder($event, node)">
<i></i>
<input type="hidden" value="{{node.folderId}}">
<span>{{node.folderName}}</span>
</a>
<ul>
<li ng-repeat="node in node.childList" ng-include="'query.html'" ng-init="node = node.childList"> </li>
</ul>
</script>

此处当注意重点

 type="text/ng-template"

这是让ng-include优先选择本页模板的关键部分。

剩下的就是一些操作的修改了。

ng-include的更多相关文章

  1. Part 16 ng include directive in AngularJS

    ng-include directive is used to embed an HTML page into another HTML page. This technique is extreme ...

  2. IE兼容性问题汇总【持续更新中】

    问题:IE8/9不支持Array.indexOf 解决方案 if (!Array.prototype.indexOf) { Array.prototype.indexOf = function(elt ...

  3. AngularJS开发指南7:AngularJS本地化,国际化,以及兼容IE低版本浏览器

    AngularJS本地化,国际化 国际化,简写为i18n,指的是使产品快速适应不同语言和文化. 本地化,简称l10n,是指使产品在特定文化和语言市场中可用. 对开发者来说,国际化一个应用意味着将所有的 ...

  4. angularJs项目实战!02:前端的页面分解与组装

    自从上一篇文章到现在已经有将近一个月的时间,我将精力放在了前端页面分解与组装,和angularjs如何与jquery.bootstrap.D3等一系列其他类库结合使用的经验总结上.由于公司新招了一些员 ...

  5. Hex Dump In Many Programming Languages

    Hex Dump In Many Programming Languages See also: ArraySumInManyProgrammingLanguages, CounterInManyPr ...

  6. AngularJs学习笔记--IE Compatibility 兼容老版本IE

    原版地址:http://docs.angularjs.org/guide/ie Internet Explorer Compatibility 一.总括 这文章描述Internet Explorer( ...

  7. angularjs 手动启动

    谷歌推的javascript框架angulajs相当火热,由于新项目的缘故,最近一直看angularjs.在看的时候,一直有个疑问,angularjs 核心依赖于DI(依赖注入).常用的方法是在页面的 ...

  8. Angular js ie 7,8 兼容性

    Angularjs  官网有云: 1)在html 里面 ,有ng-app 的标签里需要定义个id ,id='ng-app'; 2)ie 7及以下版本需要json2.js或json3.js,主要用来解析 ...

  9. angular.js,IE7,8,9兼容性的处理

    转........... 这段时间详细了解了谷歌新出的MVVM框架angular.js,并直接在本人所从事的项目中使用了.但是使用新东西都是有风险的,这不,采用了新框架的页面IE7,8各种显示不出来… ...

  10. Flume NG Getting Started(Flume NG 新手入门指南)

    Flume NG Getting Started(Flume NG 新手入门指南)翻译 新手入门 Flume NG是什么? 有什么改变? 获得Flume NG 从源码构建 配置 flume-ng全局选 ...

随机推荐

  1. 01_4_SERVLET声明周期

    01_4_SERVLET声明周期 1. Servlet的生命周期 生命全过程 加载ClassLoader 实例化 new //客户端第一次请求的时候,只new一次 初始化init(ServletCon ...

  2. Swift开发中 JSON对象/JSON字符串/Data的互转

    本文将介绍Swift开发中常用的转换(JSON对象/JSON字符串/Data之间的互相转换) #pragma mark - JSON(对象)----->JSON字符串 1.原生方法 //JSON ...

  3. 如何挂载一个镜像文件(how to mount an image file)

    如何挂载一个镜像文件(how to mount an image file) 08/16/2012master 4 Comments 在使用KVM或Xen虚拟化的情况下,经常需要使用镜像文件(imag ...

  4. Codevs1081 线段树练习 2

    题目描述 Description 给你N个数,有两种操作 1:给区间[a,b]的所有数都增加X 2:询问第i个数是什么? 输入描述 Input Description 第一行一个正整数n,接下来n行n ...

  5. jenkins 插件

  6. Jenkins注意点

    这里要填写 在 Linux 上 生成的 git 私钥 并且带上  前后 注释 ------start -----      ---end -------

  7. Livid : 在 26 岁时写给 18 岁的自己

    转载自: https://livid.v2ex.com/essays/2012/01/24/a-letter-from-26-to-18.html 在 26 岁时写给 18 岁的自己 Jan 24, ...

  8. robotframework的列表与字典

    这里以Get Element Size为例,Selenium2Library返回的是列表,AppiumLibrary返回的是字典. 列表用 ${width}获取:字典用 &{ui}[width ...

  9. 在ArchLinux、manjaro中安装MySql(mariaDB)

    安装MySql数据库.但是在MySql被Oracle收购之后,很多开源支持者就转而使用MariaDb了.不过MariaDb也和MySql兼容的,所以基本不用有什么担心.由于ArchLinux只带了Ma ...

  10. CodeForces 500E New Year Domino

    题意: 从左到右排列着\(n\)个多米诺骨牌,它们分别站在\(x\)轴上的位置\(p_i\)上且高度为\(l_i\). 当第\(i\)个多米诺骨牌向右倒下时,如果\(p_i < p_j \leq ...