1.指令

ng-app,ng- 都是angular的指令系统
ng-app: ng-app是angular的初始化,一个页面只能有一个ng-app,位置不限制。在页面上加入了这个执行,那么从当前的元素以及儿子元素,都交给angular管理,不赋值的话,会有一个默认模块。
ng-app="myApp"这里如果加了自定义的名字,那么必须创建对应的模块。
ng-model:双向绑定数据

ng-init:给字段赋予初始值。ng-init=”val=0”。

ng-bind:单向绑定,只能用于双标签,如果要在单标签上使用,那么我们就使用表达式,表达式有一个闪烁的问题,它渲染在html的双标签位置。与{{}}的作用一样显示数据。

写法有:ng-bind  data-ng-bind  x-ng-bind

{{表达式}}:用于显示数据。

一次性数据绑定:{{::表达式}}

ng-controller控制器,链接数据的的桥梁

ng-bind

ng-cloak

ng-bind-template

ng-bind-html

http://www.bootcdn.cn/angular.js/

不同于以上的功能性指令,Angular还定义了一些用于和事件绑定的指令:

- ng-blur:失去焦点

- ng-change:发生改变

- ng-copy: 拷贝完成

- ng-click:单击

- ng-dblclick:双击

- ng-focus: 得到焦点

- ng-submit:

ng-click/dblclick

ng-mousedown/up

ng-mouseenter/leave

ng-mousemove/over/out

ng-keydown/up/press

ng-focus/blur

ng-submit

2.指令闪烁 ng-cloak

解决表达式闪烁的问题

1. Class=”ng-cloak”

2.在对应的标签中加上 ng-cloak指令即可。

虽然ng-bind 能解决 {{}} 闪现的问题,但是 ng-bind不能用单标签 ng-bind 只能用于双标签,在单标签上是无法解决
  在单标签上,为了解决闪现表达的可以使用 ng-cloak,也可以在表标签上加上 class="ng-cloak"

<input type="text" ng-model="name" ng-cloak/>

3.ng-class ng-class-even ng-class-odd

ng-class 实现多个选择多个 {"red":true,"font":true}
如果值为True表示可用,否则false 不可以用
ng-class {"A":red,"B":green}[A] 多选择一个样式

<li ng-repeat="x in data" ng-class='{a:"blue",b:"green",c:"pink"}[x.main]'>{{x.title}}</li>
$scope.data=[ {title:"标题", main:"a"}, {title:"标题1", main:"b"}, {title:"标题2", main:"c"} ];

4.ng-repeat 指令

js控制器里定义一个data数据:

angular.module("myApp",[]).controller("testContoller",function($scope){
$scope.data=[
{title:"标题", main:"主要内容"},
{title:"标题1", main:"主要内容1"},
{title:"标题2", main:"主要内容2"}
]
});

第一种使用:

<p ng-repeat="a in data" ng-cloak>{{a.title}},{{a.main}}</p>

第二种使用:

如果使用ng-repeat-start那么必须要结合ng-repeat-end

<div ng-repeat-start="o in data"></div>
<p ng-cloak>{{o.title}}</p>
<div ng-repeat-end=""></div>
<ul>

    <li ng-repeat="obj in data" ng-class="$even==true?'pink':obj.color " >{{obj.name}}</li>

</ul>

$even:奇数行$even的值为true,偶数行为false;

$odd:奇数行$odd的值为false,偶数行为true;

5.ng-show ng-hide

ng-show :默认值是隐藏;布尔值为true时显示
ng-hide:默认值是显示;布尔值为true时隐藏

<div ng-show>测试盒子</div>

6.ng-if

ng-if:值为true的时候显示,为false时该元素及其所有子元素被移除;默认为false。

<div  ng-if="true">测试盒子</div>

<p ng-if="false">
2222
<span>11111</span>
</p>

7.ng-switch

<!--当data.name为1时,第一个span显示,当输入的data.name为2时第二个span显示-->

<div ng-switch="data.name">
<input type="text" ng-model="data.name"/><br/>
<span ng-switch-when="1">{{data.names}}</span>
<span ng-switch-when="2">{{data.namess}}</span>
</div> $scope.data={
name:"",
names:"张三",
namess:"小明"
}

8.ng-checked

9.ng-include

语法

<element ng-include="filename" onload="expression" autoscroll="expression" ></element>

ng-include 指令作为元素使用:

<ng-include src="filename" onload="expression" autoscroll="expression" ></ng-include>

所有的 HTML 元素都支持该指令。

参数值

描述

filename

文件名,可以使用表达式来返回文件名。

onload

可选, 文件载入后执行的表达式。

autoscroll

可选,包含的部分是否在指定视图上可滚动。

10.ng-copy

元素文本被拷贝时执行的表达式。

<element ng-copy="expression"></element>

angular ng指令的更多相关文章

  1. Angular自定义指令(directive)

    angular自定义指令,意我们可以通过angula自己定义指令,来实现我们的特殊要求,为所欲为,一支穿云箭,千军万马来相见 多少年的老规矩了,先看代码: <!DOCTYPE html> ...

  2. angular 自定义指令详解 Directive

    在angular中,Directive,自定义指令的学习,可以更好的理解angular指令的原理,当angular的指令不能满足你的需求的时候,嘿嘿,你就可以来看看这篇文章,自定义自己的指令,可以满足 ...

  3. angular学习的一些小笔记(中)之基础ng指令

    一.布尔属性指令: ng-disabled:就是ng-disabled=true-->就指向不可用 <!doctype html> <html ng-app="&qu ...

  4. Angular学习-指令入门

    1.指令的定义 从用户的角度来看,指令就是在应用的模板中使用的自定义HTML标签.指令可以很简单,也可以很复杂.AngularJS的HTML编译器会解析指令,增强模板的功能.也是组件化未来的发展趋势, ...

  5. angularjs中常用的ng指令介绍【转载】

    原文:http://www.cnblogs.com/lvdabao/p/3379659.html 一.模板中可使用的东西及表达式 模板中可以使用的东西包括以下四种: 指令(directive).ng提 ...

  6. Angular之指令Directive系列

    项目筹备近期开启Angular学习,指令比较难理解所以记录备案,推荐Angualr实战学习视频大漠穷秋 Angular实战 一.指令directive概述 指令可以对元素绑定事件监听或者改变DOM结构 ...

  7. Angular17 Angular自定义指令

    1 什么是HTML HTML文档就是一个纯文本文件,该文件包含了HTML元素.CSS样式以及JavaScript代码:HTML元素是由标签呈现,浏览器会为每个标签创建带有属性的DOM对象,浏览器通过渲 ...

  8. 将地图定位封装为ng指令

    一.HTML结构<div tabindex="-1" class="modal fade in active modal-map" role=" ...

  9. Angular 自定义指令传参

    <!DOCTYPE html><html ng-app="myApp"><head lang="en"> <meta ...

随机推荐

  1. Vue---基础笔记 (基础的构建 )

    vue 基础 准备工作 chrome浏览器插件安装 完成后出现标记 vue页面标记需要使用vue.js非vue.min.js 调试页面 结构模型MVVM =  m:model + v:view + v ...

  2. day0203 (whil else)

    count = 0while count <= 5 : count += 1 if count == 3:break print("Loop",count) else: pr ...

  3. 认识CSS中css引入方式、选择器、文本样式设置以及显示模式

    前端之HTML.CSS(三) CSS CSS-Cascading Styles Sheets,层叠样式表.用于网页的表现,主要用于布局和修饰网页. CSS引入方式 CSS的三种引入方式:行内样式,内部 ...

  4. Jenkins windows部署

    1.安装jenkins 进入https://jenkins.io/download/,下载windows安装包,解压后运行jenkins.msi进行安装. 配置jenkins (1)打开http:// ...

  5. APP高级抓包

    1.fiddler的证书安装问题时密码问题 问题:我手机下载了fiddler证书 从设置里面安装证书 可是需要输入密码 我没有设置过密码 不知道密码是什么 请问有人遇到过这样的问题的?求解决方法 因为 ...

  6. SpringCloud---声明式服务调用---Spring Cloud Feign

    1.概述 1.1 Spring Cloud Ribbon.Spring Cloud Hystrix的使用几乎是同时出现的,Spring Cloud提供了一个更高层次的封装这2个工具类框架:Spring ...

  7. TR-069_Amendment-4:附录G.穿越NAT网关的连接请求方式

    注意:这种机制只适用于RFC 3489[21]中定义的经典STUN,RFC 5389引入后,这个机制已经过时.这个机制不是设计用于RFC 5389中定义的STUN.IPv6部署要么不使用NAT,要么以 ...

  8. python调用另一个.py文件中的类和函数

    同一文件夹下的调用 1.调用函数 A.py文件如下:def add(x,y):    print('和为:%d'%(x+y)) 在B.py文件中调用A.py的add函数如下: import AA.ad ...

  9. 在W3C SCHOOL网站上发现一个关于Schema的错误

    原地址是http://www.w3school.com.cn/schema/schema_complex_empty.asp 下面这个例子是不正确的 xmlspy报错. 因为<xs:restri ...

  10. jQuery插件的开发(一)

    jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法.jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级 ...