AngularJS基础学习笔记之指令


Posted in Javascript onMay 10, 2015

AngularJS通过指令将HTML属性进行了扩展。

AngularJS指令

AngularJS指令是带有ng-前缀的扩展HTML属性。

ng-app指令用来初始化AngularJS application。

ng-init指令用来初始化application数据。

ng-model指令用来将HTML控件(如input,select,textarea等)的值绑定到application数据。

<div ng-app="" ng-init="firstName='John'">

<p>Name: <input type="text" ng-model="firstName"></p>
<p>You wrote: {{ firstName }}</p>

</div>

ng-app指令同时也告诉AngularJS,它所在的<div>元素是AngularJS application的根元素,即作用域。

数据绑定

在上面的示例中,{{ firstName }}是一个AngularJS数据绑定表达式。

在AngularJS数据绑定中,AngularJS表达式使用AngularJS数据进行同步更新。

{{ firstName }}通过ng-model="firstName"同步更新数据。

<div ng-app="" ng-init="quantity=1;price=5">

Quantity: <input type="number"  ng-model="quantity">
Costs:  <input type="number" ng-model="price">

Total in dollar: {{ quantity * price }}

</div>

Note 使用ng-init指令在AngularJS开发中非常普遍。在控制器一节中你将会看到更好的初始化数据的方法。
重复HTML元素

ng-repeat指令用来重复创建一个HTML元素:

<div ng-app="" ng-init="names=['Jani','Hege','Kai']">
 <ul>
  <li ng-repeat="x in names">
   {{ x }}
  </li>
 </ul>
</div>

在对象数组上使用ng-repeat指令:

<div ng-app="" ng-init="names=[
{name:'Jani',country:'Norway'},
{name:'Hege',country:'Sweden'},
{name:'Kai',country:'Denmark'}]">

<ul>
 <li ng-repeat="x  in names">
  {{ x.name + ', ' + x.country }}
 </li>
</ul>

</div>

Note AngularJS非常适合数据库CRUD(即创建,读取,更新和删除)操作。想象一下,如果这些对象来自于数据库呢?

ng-app指令

ng-app指令定义了AngularJS application的根元素。

当Web页面加载完成后,ng-app指令将auto-bootstrap(自动初始化)application。即自动初始化并引导AngularJS application执行。

在后面的章节中你将会学习到如何给ng-app指令指定一个值(例如ng-app="myModule"),从而与模块联系起来。

ng-init指令

ng-init指令用于为AngularJS application初始化值。

一般情况下不需要使用ng-init指令,而是使用控制器或者模块来进行初始化工作。

在后面的章节中你将会学习到有关控制器和模块的相关内容。

ng-model指令

ng-model指令用来将HTML控件(如input,select,textarea等)的值绑定到application数据。

ng-model指令还可以用来:

提供数据验证(如验证数字,email地址,必填项)。
提供数据的状态(如invalid,dirty,touched,error)。
为HTML元素提供CSS样式类。
将HTML元素绑定到HTML表单。

ng-repeat指令

ng-repeat指令用来为数据集合(或者数组)中的每一个元素生成一个对应的HTML元素。

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
jquery不会自动回收xmlHttpRequest对象 导致了内存溢出
Jun 18 Javascript
jquery插件如何使用 jQuery操作Cookie插件使用介绍
Dec 15 Javascript
Ext JS添加子组件的误区探讨
Jun 28 Javascript
JavaScript匿名函数与委托使用示例
Jul 22 Javascript
jQuery中fadeOut()方法用法实例
Dec 24 Javascript
JavaScript异步加载浅析
Dec 28 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
Jul 05 Javascript
jQuery插件DataTables分页开发心得体会
Aug 22 jQuery
jQuery实现定时隐藏对话框的方法分析
Feb 12 jQuery
vue实现行列转换的一种方法
Aug 06 Javascript
javascript数组的定义及操作实例
Nov 10 Javascript
js实现全选和全不选功能
Jul 28 Javascript
AngularJS基础学习笔记之表达式
May 10 #Javascript
AngularJS基础学习笔记之简单介绍
May 10 #Javascript
JS实现仿QQ聊天窗口抖动特效
May 10 #Javascript
javascript为按钮注册回车事件(设置默认按钮)的方法
May 09 #Javascript
深入浅出分析javaScript中this用法
May 09 #Javascript
深入浅出理解javaScript原型链
May 09 #Javascript
js实现从右向左缓缓浮出网页浮动层广告的方法
May 09 #Javascript
You might like
[EPIC] Larva vs Flash ZvT @ Crossing Field [2017-10-09]
2020/03/17 星际争霸
echo, print, printf 和 sprintf 区别
2006/12/06 PHP
PHP similar_text 字符串的相似性比较函数
2010/05/26 PHP
PHP filter_var() 函数 Filter 函数
2012/04/25 PHP
PHP控制反转(IOC)和依赖注入(DI)
2017/03/13 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
Javascript base64编码实现代码
2011/12/02 Javascript
JavaScript实现将数组中所有元素连接成一个字符串的方法
2015/04/06 Javascript
javascript中的五种基本数据类型
2015/08/26 Javascript
AngularJS入门心得之directive和controller通信过程
2016/01/25 Javascript
Javascript实现运算符重载详解
2018/04/07 Javascript
NodeJS安装图文教程
2018/04/19 NodeJs
vue: WebStorm设置快速编译运行的方法
2018/10/18 Javascript
JS实现获取自定义属性data值的方法示例
2018/12/19 Javascript
详解Vue+Element的动态表单,动态表格(后端发送配置,前端动态生成)
2019/04/20 Javascript
Vue利用Blob下载原生二进制数组文件
2019/09/25 Javascript
JS实现可视化音频效果的实例代码
2020/01/16 Javascript
python处理cookie详解
2014/02/07 Python
python操作 hbase 数据的方法
2016/12/18 Python
Flask解决跨域的问题示例代码
2018/02/12 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
2018/10/26 Python
Python删除n行后的其他行方法
2019/01/28 Python
opencv与numpy的图像基本操作
2019/03/08 Python
使用python进行波形及频谱绘制的方法
2019/06/17 Python
Python实现使用dir获取类的方法列表
2019/12/24 Python
Pandas对每个分组应用apply函数的实现
2020/12/13 Python
Python实现王者荣耀自动刷金币的完整步骤
2021/01/22 Python
CSS+jQuery实现的在线答题功能
2015/04/25 HTML / CSS
艺术爱好者的自我评价分享
2013/10/08 职场文书
谢师宴答谢词
2015/01/05 职场文书
运动会表扬稿
2015/01/16 职场文书
开除员工通知
2015/04/22 职场文书
《秋天的雨》教学反思
2016/02/19 职场文书
Python批量将csv文件转化成xml文件的实例
2021/05/10 Python
pyqt5打包成exe可执行文件的方法
2021/05/14 Python
SpringBoot 拦截器妙用你真的了解吗
2021/07/01 Java/Android