一、引用指令

  在AngularJS的文档中,所有指令的名字以驼峰命名法。而在模板中,则需要以蛇形命名法。可以以冒号分割(ng:model)或下划线分割(ng_model),更常见的是以ng-model这种样式命名。如果是HTML5,前面可以加上data,如data-ng-model。

二、插值指令

  用花括号界定的表达式,如:

<span>{{expression}}</span>

  插值指令会对模型中的任意HTML内容进行转义,这是为了防止注入攻击。例如:

$scope.msg='Hello,<b>World</b>!';
<p>{{msg}}</p>
渲染后会对模型中的任意HTML内容进行转义,最后结果为:
<p>Hello,&lt;b&gt;World&lt;/b&gt;!</p>

  如果因为某些理由,包含HTML标记的模型要被浏览器求值和渲染,那么可以用ng-bind-html-unsafe指令来默认关掉默认的HTML标签转义:

<p ng-bind-html-unsafe="msg"></p>

  AngularJS还有一个指令----ng-bind-html,它能选择性的净化指定的HTML标签,同时允许其他标签被浏览器解释。他的用法如下:

<p ng-bind-html="msg"></p>

  需要引用额外的源文件:angular-sanitize.js,还需要声明ngSanitize模块依赖。

三、条件化显示

  四套指令集:ng-show/ng-hide,ng-switch-*,ng-if,ng-include

  3.1 ng-show/ng-hide指令通过简单的应用style="display:none"来隐藏DOM元素,这些元素并不从DOM树种移除。

  3.2 ng-switch和ng-if可以增加、移除DOM元素,ng-if使用更简单一点。

  3.3 ng-include可以根据表达式的求值结果,有条件的加载和显示子模板。如:

<div ng-include="user.admin&&'edit.admin.html'||'edit.user.html'"></div>

  这句话的意思是,如果user.admin为true,则返回的结果为edit.admin.html,第二个表达式edit.user.html就不会执行。最后的返回结果为edit.admin.html。如果user.admin为false,则第二句话就不会执行,则第一句和第二句整个就是false,返回结果就为第三句话,返回edit.user.html.

  tips:&&第一个表达式为假就不会处理第二个表达式,||相反。

 四、ngRepeat指令

<table class="table">
<tr ng-repeat="user in users">
<td>{{user.name}}</td>
<td>{{user.email}}</td>
</tr>
</table>

  4.1 特殊变量

  AngularJS重复器在为每个独立条目创建作用域时,都会申明一组特殊变量,他们可用于确定此元素在集合中的位置。

  $index:指代元素在集合中的索引数字(从0开始)。

  $first、$middle、$last:这些变量会根据元素的位置获得对应的布尔值。

Angularjs学习笔记(五)----显示和格式化数据的更多相关文章

  1. python3.4学习笔记(五) IDLE显示行号问题,插件安装和其他开发工具介绍

    python3.4学习笔记(五) IDLE显示行号问题,插件安装和其他开发工具介绍 IDLE默认不能显示行号,使用ALT+G 跳到对应行号,在右下角有显示光标所在行.列.pycharm免费社区版.Su ...

  2. 【opencv学习笔记五】一个简单程序:图像读取与显示

    今天我们来学习一个最简单的程序,即从文件读取图像并且创建窗口显示该图像. 目录 [imread]图像读取 [namedWindow]创建window窗口 [imshow]图像显示 [imwrite]图 ...

  3. AngularJs学习笔记--concepts(概念)

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/concepts 继续.. 一.总括 本文主要是angular组件(components)的概览,并说明 ...

  4. AngularJs学习笔记--Forms

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/forms 控件(input.select.textarea)是用户输入数据的一种方式.Form(表单) ...

  5. AngularJs学习笔记--expression

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/expression 表达式(Expressions)是类Javascript的代码片段,通常放置在绑定 ...

  6. AngularJs学习笔记--directive

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/directive Directive是教HTML玩一些新把戏的途径.在DOM编译期间,directiv ...

  7. AngularJs学习笔记--Using $location

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/dev_guide.services.$location 一.What does it do? $loc ...

  8. AngularJs学习笔记--Scope

    原版地址:http://code.angularjs.org/1.0.2/docs/guide/scope 一.什么是Scope? scope(http://code.angularjs.org/1. ...

  9. AngularJs学习笔记--bootstrap

    AngularJs学习笔记系列第一篇,希望我可以坚持写下去.本文内容主要来自 http://docs.angularjs.org/guide/ 文档的内容,但也加入些许自己的理解与尝试结果. 一.总括 ...

  10. AngularJs学习笔记--html compiler

    原文再续,书接上回...依旧参考http://code.angularjs.org/1.0.2/docs/guide/compiler 一.总括 Angular的HTML compiler允许开发者自 ...

随机推荐

  1. QQ右下角浮动窗口

    <html><head><meta http-equiv="Content-Type" content="text/html; charse ...

  2. 超链接实现post方式提交

    思路:如果想要超链接实现post方式提交,必须借助表单.下面得两种方式,一种是借助显示的form表单,一种是借助隐式的form表单方式一:将超链接放到一个form表单中,或者超链接本身就在一个form ...

  3. Sql Server 2008和2000查询表的字段和注释

    -- SQL Server 2008 SELECT 表名 = d.name, 表说明 = case when a.colorder=1 then isnull(f.value,'') else '' ...

  4. windows下CMake使用图文手册 Part 3

    例子3: 构建动态库(.dll) 静态库(.lib) 采用和例子2一样的文件,但删除了main.cpp E:.               │  CMakeLists.txt │            ...

  5. oracleclient连oracle库 报System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本

    在iis下发布eworkflow+eform+ebiao的代码,访问oracle的数据库,用oracleClient或者oledb的方式连接,有时会报“System.Data.OracleClient ...

  6. fdfdfdfdfdfdfdfdfdfdfd

    len := Length( Face[integer(FaceType)][Line-1] );  SetLength( Face[integer(FaceType)][Line-1], Len+1 ...

  7. C# 打开指定目录并定位到文件

    private void OpenFolderAndSelectFile(String fileFullName) { System.Diagnostics.ProcessStartInfo psi ...

  8. 前端开发根据url进行页面跳转控制以及实现菜单栏手风琴效果

    html中的元素:<ul id="accordion" class="accordion">  <li class="licss&q ...

  9. TENDA-F322路由器管理工具

    https://yunpan.cn/cYsfNxJLfVnUY (提取码:d0ae)

  10. equals标准写法

    @Overridepublic boolean equals(Object obj) { //为了提高效率 if(this == obj){ return true; } //为了提供程序的健壮性 / ...