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. 如何在vue项目中引用Iview

    iview 安装 npm install iview --save 引入iview import Vue from 'vue' import App from './App' import route ...

  2. NordicSemiconductor.nRF_DeviceFamilyPack 更新历史记录

    Version: 8.17.0 (2018-04-27) NordicSemiconductor.nRF_DeviceFamilyPack.8.17.0.packDownload For nRF528 ...

  3. 天问之Linux内核中的不明白的地方

    1. Linux 0.11\linux\kernel\exit.c 文件中, 无论是send_sig()函数还是kill_session()函数中,凡是涉及到发送信号的地方,都是直接    (*p)- ...

  4. 通过Proxool配置访问数据库的要点

    proxool 配置的时候有Proxool.properties 或者 Proxool.xml 两种方式初始化. 我的配置环境是 myEclipse10+tomcat6.0 + mysql5.0 . ...

  5. linux学习-主机的细部权限规划:ACL 的使用

    传统的权限仅有三种身份 (owner, group, others) 搭配三种权限 (r,w,x) 而已,并没有办法单纯的针对某一个使用者或某一个群 组来设定特定的权限需求,此时就得要使用 ACL 这 ...

  6. Java构造器(construtor)与垃圾收集器(GB)

    在Java中,程序员会在乎内存中的两块空间. 堆(heap)和栈(stack). 当java虚拟机启动时, 它会从底层的操作系统取得一块内存, 并且以此块内存来执行java程序. 在Java中, 实例 ...

  7. Java常用api和操作必背

    1.数组排序 Java的Arrays类(java.util中)包含用来操作数组(比如排序和搜索)的各种方法. Arrays.sort(各种类型数组) 2.数组转字符串 1)打印数组时可用Arrays. ...

  8. Android 标题栏(2)

    本文来自网易云社区 作者:孙圣翔 添加ActionProvider 1.在menu菜单中添加app:actionProviderClass属性: <item     android:id=&qu ...

  9. Selenium WebDriver- 显式等待

    推荐使用显示等待,元素出现就不会等待而继续执行了.节省时间. #encoding=utf-8 import unittest import time from selenium import webd ...

  10. mysql 索引和查询优化

    对于任何DBMS,索引都是进行优化的最主要的因素.对于少量的数据,没有合适的索引影响不是很大,但是,当随着数据量的增加,性能会急剧下降.如果对多列进行索引(组合索引),列的顺序非常重要,MySQL仅能 ...