Directives
In AngularJS, we can use a variety of naming conventions to reference directives .
In the AngularJS documentation, all the directive are indexed under their camel-case name
(For example, ngModel). In a template, howeven, we need to use either snake-case form(ng-model),
colon-separated(ng:model) or the underscore-separated(ng_model) form. Addtionally, each reference to
a directive can be prefixed with either x- or data-.

the interpolation directive--- {{}}
and it has an equivalent directive called ng-bind. Usually the ng-bind directive is used to hide
expressions before AngularJS has a chance of processing them on the initial page load.

the interpolation directive will do escaping of any HTML content found in the model in order to prevent
HTML injection attacks. for example :
        $scope.msg="hello,<b>world</b>";
    and the markup fragment:
        <span>{{msg}}</span>
    the result will be <span>hello,&lt;b&gt;world&lt;/b&gt;</span>    
if,for any reason, you model contains HTML markup that needs to be evaluated and rendered by a browser,
you can use the ng-bind-html-unsafe directive to switch off default HTML tags escaping.
        <span ng-bind-html-unsafe="msg"></span>
but, there is also a third option: ng-bind-html. this directive is a compromise between behavior of the
ng-bind-html-unsafe(allow al HTML tags) and the interpolation directive(allow no HTML tags at all).you can
use ng-bind-html where you want to allow some HTML tags.  
    ng-bind-html directive resides in a separate module (ngSanitize) and require inclusion of an addtional
    source file:angular-sanitize.js.
Don't forget to declare dependency on the ngSanitize module if you plan to use the ng-bind-html directive.

Conditional display
Showing and hiding parts of the DOM based on some conditions is a common requirement.
AngularJS is equipped with four different sets of directive fot this occasion(ng-show/ng-hide,
ng-switch-*,ng-if and ng-include)

ng-show/ng-hide
<div ng-show="showSecret"></div>
this div will show when showSecret is true and hide when showSecret is false.

ng-switch-*
If we want to physically remove or add DOM nodes conditionally , the family of ng-switch directives will come
handy:
    <div ng-switch on="showSecret">
        <div ng-switch-when="1">Secret1</div>
        <div ng-switch-when="2">Secret2</div>
        <div ng-switch-default>won't show my secrets!</div>
    </div>

ng-if
Just like other if in other languages,
    <div ng-if="showSecret">Secret</div>

ng-include
The ng-include directive can be used to conditionally display blocks of dynamic, AngularJS-powered markup.
    <div ng-include="user.admin && 'edit.admin.html' || 'editor.user.html'"></div>
ng-include accepts an string as its argument. so it must be something like ng-include=" 'a.html' "

ng-repeat
    $index starts with 0
    $first, $middle,$last return a boolean
using ng-repeat , we can iterate over properties of an object. check the following code:    
    <li ng-repeat="(name,age) in user">
        <span>{{name}} 's  age is {{age}}</span>
    </li>
but in this case, we can't control iteration order.
There is a slight problem with ng-repeat directive: it need a container element to repeat. For example, if I
want to repeat two rows in a table, it must be
    <table>
        <tbody ng-repeat="user in users">
            <tr>{{user.name}}</tr>
            <tr>{{user.age}}</tr>
        </tbody>
    </table>

AngularJs(Part 7)--Build-in Directives的更多相关文章

  1. [译]在AngularJS中何时应该使用Directives,Controllers或者Service

    原文: http://kirkbushell.me/when-to-use-directives-controllers-or-services-in-angular/ Services Servic ...

  2. [AngularJS] Using Services in Angular Directives

    Directives have dependencies too, and you can use dependency injection to provide services for your ...

  3. [AngularJS] Using ngModel in Custom Directives

    You can use ngModel in your own directives, but there are a few things you'll need to do to get it w ...

  4. 【转】Build Your own Simplified AngularJS in 200 Lines of JavaScript

    原文:http://blog.mgechev.com/2015/03/09/build-learn-your-own-light-lightweight-angularjs/ Build Your o ...

  5. A Step-by-Step Guide to Your First AngularJS App

    What is AngularJS? AngularJS is a JavaScript MVC framework developed by Google that lets you build w ...

  6. Integrating AngularJS with RequireJS

    Integrating AngularJS with RequireJS When I first started developing with AngularJS keeping my contr ...

  7. [后端人员耍前端系列]AngularJs篇:使用AngularJs打造一个简易权限系统

    一.引言 上一篇博文已经向大家介绍了AngularJS核心的一些知识点,在这篇博文将介绍如何把AngularJs应用到实际项目中.本篇博文将使用AngularJS来打造一个简易的权限管理系统.下面不多 ...

  8. angularjs指令中的compile与link函数详解(转)

    http://www.jb51.net/article/58229.htm 通常大家在使用ng中的指令的时候,用的链接函数最多的是link属性,下面这篇文章将告诉大家complie,pre-link, ...

  9. AngularJs打造一个简易权限系统

    AngularJs打造一个简易权限系统 一.引言 上一篇博文已经向大家介绍了AngularJS核心的一些知识点,在这篇博文将介绍如何把AngularJs应用到实际项目中.本篇博文将使用AngularJ ...

  10. 【转】angularjs指令中的compile与link函数详解

    这篇文章主要介绍了angularjs指令中的compile与link函数详解,本文同时诉大家complie,pre-link,post-link的用法与区别等内容,需要的朋友可以参考下   通常大家在 ...

随机推荐

  1. IOS UI Frame 相对位置调整 与优化方法 Height Width X Y 调整

    不使用xib ,纯代码开发的过程中,动态UI  需要改对象的大小位置 反复使用CGRectMake 去 setFrame  非常低效耗时,而且 牵一发动全身. 以下整理出几个方法,方便动态布局 1.s ...

  2. ImportError: no module named win32api

    ImportError: no module named win32api 安装win32包就好了 pip install pypiwin32

  3. POJ 3928 Ping pong(树状数组+两次)

    题意:每个人都有一个独特的排名(数字大小)与独特的位置(从前往后一条线上),求满足排名在两者之间并且位置也在两者之间的三元组的个数 思路:单去枚举哪些数字在两者之间只能用O(n^3)时间太高,但是可以 ...

  4. html基础学习(注意点)

    浏览器会自动地在块级元素(<p><h1>)的前后添加空行 当显示页面时,浏览器会移除源代码中多余的空格和空行.所有连续的空格或空行都会被算作一个空格.需要注意的是,HTML 代 ...

  5. NodeJS Cross domain

    跨域问题主要在header上下功夫 首先提供一个w3c的header定义 http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html 再提供一个网友提 ...

  6. AngularJs 相应回车事件

    最近做项目,要用到AngularJs,之前也有用过一点点,但仅限于数据的绑定,这次项目要整个前端需要使用这个框架,可能是不熟悉的原因,感觉这代码搞起来非常的不便利,:现总结一个响应回车事件: < ...

  7. invalid constant type: 18

    javassist 3.18以下的版本不支持在JDK1.8下运行

  8. Git之Eclipse提交项目到Github并实现多人协作

    一.Eclipece提交项目到Github 见  eclipse提交项目到github 二.利用github组织实现多人协作 1.新建组织: New organization

  9. HashMap,Hashtable,TreeMap ,Map

    package com.wzy.list; import java.util.HashMap; import java.util.Hashtable; import java.util.Iterato ...

  10. I.MX6 FFmpeg 录制视频

    /************************************************************************* * I.MX6 FFmpeg 录制视频 * 说明: ...