angular ng指令
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指令的更多相关文章
- Angular自定义指令(directive)
angular自定义指令,意我们可以通过angula自己定义指令,来实现我们的特殊要求,为所欲为,一支穿云箭,千军万马来相见 多少年的老规矩了,先看代码: <!DOCTYPE html> ...
- angular 自定义指令详解 Directive
在angular中,Directive,自定义指令的学习,可以更好的理解angular指令的原理,当angular的指令不能满足你的需求的时候,嘿嘿,你就可以来看看这篇文章,自定义自己的指令,可以满足 ...
- angular学习的一些小笔记(中)之基础ng指令
一.布尔属性指令: ng-disabled:就是ng-disabled=true-->就指向不可用 <!doctype html> <html ng-app="&qu ...
- Angular学习-指令入门
1.指令的定义 从用户的角度来看,指令就是在应用的模板中使用的自定义HTML标签.指令可以很简单,也可以很复杂.AngularJS的HTML编译器会解析指令,增强模板的功能.也是组件化未来的发展趋势, ...
- angularjs中常用的ng指令介绍【转载】
原文:http://www.cnblogs.com/lvdabao/p/3379659.html 一.模板中可使用的东西及表达式 模板中可以使用的东西包括以下四种: 指令(directive).ng提 ...
- Angular之指令Directive系列
项目筹备近期开启Angular学习,指令比较难理解所以记录备案,推荐Angualr实战学习视频大漠穷秋 Angular实战 一.指令directive概述 指令可以对元素绑定事件监听或者改变DOM结构 ...
- Angular17 Angular自定义指令
1 什么是HTML HTML文档就是一个纯文本文件,该文件包含了HTML元素.CSS样式以及JavaScript代码:HTML元素是由标签呈现,浏览器会为每个标签创建带有属性的DOM对象,浏览器通过渲 ...
- 将地图定位封装为ng指令
一.HTML结构<div tabindex="-1" class="modal fade in active modal-map" role=" ...
- Angular 自定义指令传参
<!DOCTYPE html><html ng-app="myApp"><head lang="en"> <meta ...
随机推荐
- 亿级 Elasticsearch 性能优化
前言 最近一年使用 Elasticsearch 完成亿级别日志搜索平台「ELK」,亿级别的分布式跟踪系统.在设计这些系统的过程中,底层都是采用 Elasticsearch 来做数据的存储,并且数据量都 ...
- 进阶篇:2)DFMA方法的运用
本章目的:DFMA方法运用,引导后面的章节.(运用比只理解重要!) 1.DFMA概述 1.1 DFMA的由来 工艺粗略可分为装配工艺和制造工艺.在这里,我们所讲的“制造”是指产品或部件的某个零件的制造 ...
- CF1067D. Computer Game(斜率优化+倍增+矩阵乘法)
题目链接 https://codeforces.com/contest/1067/problem/D 题解 首先,如果我们获得了一次升级机会,我们一定希望升级 \(b_i \times p_i\) 最 ...
- 7. JavaScript学习笔记——DOM
7. DOM 7.1 DOM简介 DOM是文档对象模型,HTML文档的所有内容都是节点: 整个文档是一个文档节点 (document 最顶级) HTML元素内的文本是文本节点 每个表面的属性是属性节点 ...
- AHB协议
AHB2 支持多个Bus Master,例如有三个Master,有四个slave,但是同时只有一个Mater可以拿到Bus的访问权.所以,总线的使用权就需要Master去申请,也就需要一个仲裁器(Ar ...
- 论文阅读 | FoveaBox: Beyond Anchor-based Object Detector
论文阅读——FoveaBox: Beyond Anchor-based Object Detector 概述 这是一篇ArXiv 2019的文章,作者提出了一种新的anchor-free的目标检测框架 ...
- JS获取后台返回的JSON数据
问题:通过$.get从后台获取了一段json串{"id":"1","name":"ww"},然后要拿到这里面的id和na ...
- Zookeeper选举算法原理
Zookeeper选举算法原理 Leader选举 Leader选举是保证分布式数据一致性的关键所在.当Zookeeper集群中的一台服务器出现以下两种情况之一时,需要进入Leader选举. (1) 服 ...
- js中的 == 与 === 、永远不要使用 ==
前言: 很久没有复习基础了,所以导致做项目的时候被坑,咳咳,基础还是很重要的. === 是没有强制类型转换的,和其他大部分语言的 == 是一样的.而js中 == 是有类型转换的,这也是js饱受诟病的原 ...
- sencha touch extend 单继承 和 mixins 实现多继承
继承可以达到代码的复用,利于维护和扩展. sencha touch 中可以通过 extend 实现单继承,通过 mixins 实现多继承. mixins 也很像实现接口,不过这些接口的方法已经实现了, ...