AngularJS指令
1. AngularJS指令的特点:
- AngularJS通过被称为指令的新属性来扩展HTML,指令的前缀为ng-。
- AngularJS通过内置的指令来为应用添加功能。
- AngularJS允许你自定义指令。
2. 下面介绍下常见的AngularJS指令:
- ng-app指令:定义了AngularJS 应用程序的根元素。在网页加载完毕时会自动引导(自动初始化)应用程序。
- ng-init指令:为 AngularJS 应用程序定义了初始值。通常情况下,不使用 ng-init。您将使用一个控制器或模块来代替它。
- ng-model指令:绑定HTML元素到应用程序数据。也可以为应用程序数据提供类型验证(number、email、required)、为应用程序数据提供状态(invalid、dirty、touched、error)、为 HTML 元素提供 CSS 类、绑定 HTML 元素到 HTML 表单。
- ng-repeat指令:对于集合中(数组中)的每个项会克隆一次HTML元素。
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="js/angular.min.js"></script>
</head> <body ng-app="">
<div ng-init="quantity=1;price=5"></div>
<h2>价格计算器</h2>
数量: <input type="number" ng-model="quantity">
价格: <input type="number" ng-model="price"> <p><b>总价:</b> {{quantity * price}}</p> <div ng-init="students=[
{name:'小明',class:'一年级一班'},
{name:'小红',class:'一年级二班'},
{name:'小方',class:'一年级三班'}
]">
<p>循环对象</p>
<ul>
<li ng-repeat="x in students">
{{x.name+" "+x.class}}
</li>
</ul>
</div>
</body>
</html>
3. 创建自定义的指令:
- 除了 AngularJS 内置的指令外,我们还可以创建自定义指令。
- 我们可以使用 .directive 函数来添加自定义的指令。
- 要调用自定义指令,HTML 元素上需要添加自定义指令名。
- 使用驼峰法来命名一个指令,myDirective,但是在使用的时候要用-分割开,my-directive。
- 使用自定义指令有四种方式,可以通过restrict属性来限制使用,
E作为元素名使用、C作为类名使用、A作为属性使用、M作为注释使用。- 通过元素名:
<my-directive></my-directive>
- 通过类名:必须设置 restrict 的值为 "C" 才能通过类名来调用指令。
<div class="my-directive"></div>
- 通过属性:
<div my-directive></div>
- 通过注释:我们需要在该实例添加 replace 属性, 否则是不可见的。
<!-- directive: my-directive -->
- 通过元素名:
- 案例展示:这里是通过元素名的方式来使用自定义指令,别的方式大家可以自行尝试。
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="js/angular.min.js"></script>
</head> <body ng-app="myApp">
<my-directive></my-directive> <script>
var app = angular.module("myApp", []);
app.directive("myDirective", function() {
return {
template: "<h1>这是我的自定义指令!</h1>"
};
});
</script>
</body>
</html>
AngularJS指令的更多相关文章
- angularjs指令参数transclude
angularjs指令参数transclude transclude翻译为嵌入,和之前看到的vue中的slots作用差不多,目的是将指令元素的子内容嵌入到指令的模板中 定义指令 <div sid ...
- angularjs 指令—— 绑定策略(@、=、&)
angularjs 指令—— 绑定策略(@.=.&) 引入主题背景:angular 的指令配置中的template可以直接使用硬编码写相应的代码,不过也可以根据变量,进行动态更新.那么需要用到 ...
- AngularJS 指令
AngularJS 指令 AngularJS 指令是扩展的 HTML 属性,带有前缀 ng-. ng-app 指令 ng-app 指令定义了 AngularJS 应用程序的 根元素. ng-app 指 ...
- angularjs指令(二)
最近学习了下angularjs指令的相关知识,也参考了前人的一些文章,在此总结下. 欢迎批评指出错误的地方. Angularjs指令定义的API AngularJs的指令定义大致如下 angula ...
- angularJs指令执行的机制==大概的三个阶段
第一阶段:加载阶段 angularJs要运行的话,需要去等待angular.js加载完成,加载完之后呢,angular就会去查找到ng-app这个指令,ng-app在每个应用里面只能出现一次, 它也就 ...
- AngularJS学习笔记二:AngularJS指令
AngularJS 指令: AngularJS 通过被称为 指令 的新属性来扩展 HTML. AngularJS 指令是扩展的 HTML 属性,带有前缀 ng-. 几个常用 指令: ng-app 指令 ...
- AngularJs指令(一)
AngularJs应用现在越来越流行了,谷歌都与微软合作支持AngularJS2.0,这是要逆天了,说明AngularJs将来大势所趋.最近想跳槽,又重新拾起了AngluarJs(之前由于缺少项目应用 ...
- 【转】angularjs指令中的compile与link函数详解
这篇文章主要介绍了angularjs指令中的compile与link函数详解,本文同时诉大家complie,pre-link,post-link的用法与区别等内容,需要的朋友可以参考下 通常大家在 ...
- AngularJS指令进阶 – ngModelController详解
AngularJS指令进阶 – ngModelController详解 在自定义Angular指令时,其中有一个叫做require的字段,这个字段的作用是用于指令之间的相互交流.举个简单的例子,假如我 ...
随机推荐
- 每天一个设计模式-2 外观模式(Facade)
每天一个设计模式-2 外观模式(Facade) 1.生活中的示例 客户想要购买一台电脑,一般有两种方法: 1.自己DIY,客户需要知道组成电脑的所有电子器件,并且需要熟悉那些配件,对客户要求较高. ...
- 9.2.2 .net framework下的MVC 控件的封装(下)
控件封装的部分说明 可能有人觉得应该前后端分离,我也承认这是应该的方向,我们也在考虑使用ng2等简化前端.但是,我们封装控件还是因为如下原因综合考虑的: 我们这是个框架,上面支撑了许多个应用,包含几百 ...
- 使用Ring Buffer构建高性能的文件写入程序
最近常收到SOD框架的朋友报告的SOD的SQL日志功能报错:文件句柄丢失.经过分析得知,这些朋友使用SOD框架开发了访问量比较大的系统,由于忘记关闭SQL日志功能所以出现了很高频率的日志写入操作,从而 ...
- cmd命令汇总
一 cmd 命令 cmd命令大全(第一部分) winver---------检查Windows版本 wmimgmt.msc----打开windows管理体系结构(WMI) wupdmgr------ ...
- [deviceone开发]-do_Webview的基本示例
一.简介 这个示例是webview的基础demo,加载了本地html文件,一个html做的登录的表单.这个示例也展示了webview里加载的html里的js代码怎么调用deviceone的SM,MM和 ...
- 利用NetworkExtension库配置VPN
VPN简单说就是连接局域网的一个通道.Ios8之后苹果增加了一个VPN的接口NEVPNManager,它可以方便的添加VPN连接. 首先在你的Xcode内,TARGETS->Capabiliti ...
- Google C++单元测试框架GoogleTest---AdvancedGuide(译文)下
因为AdvancedGuide文档太长,分上下两部分,本文档接googletest--AdvancedGuide(译文)上:Google C++单元测试框架GoogleTest---AdvancedG ...
- ViewPager轮播图
LoopViewPagerLayout无限轮播 项目地址:https://github.com/why168/LoopViewPagerLayout 支持三种动画: 支持修改轮播的速度: 支持修改滑动 ...
- 如何安装Genymotion虚拟机以及Genmotion的eclipse插件
---内容开始--- - 首先去genymotion的官网去下载其安装文件 资源下载 Genymotion官网必须注册一个账号这个账号安装之后还有用的,用户名最好用网易126邮箱注册----我下载的是 ...
- Android InputType详解
android:inputType 如果设置android:inputType = "number",则默认弹出的输入键盘为数字键盘,且输入的内容只能为数字. InputType文 ...