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 相关文章推荐
取得父标签
Nov 14 Javascript
jquery json 实例代码
Dec 02 Javascript
JavaScript 判断用户输入的邮箱及手机格式是否正确
Dec 08 Javascript
Javascript中实现trim()函数的两种方法
Feb 04 Javascript
浅谈javascript中this在事件中的应用
Feb 15 Javascript
js实现带圆角的多级下拉菜单效果
Aug 28 Javascript
详解如何去除vue项目中的#——History模式
Oct 13 Javascript
vue 录制视频并压缩视频文件的方法
Jul 27 Javascript
微信小程序生成海报分享朋友圈的实现方法
May 06 Javascript
Javascript异步执行不按顺序解决方案
Apr 30 Javascript
Vue自定义表单内容检查rules实例
Oct 30 Javascript
聊聊vue 中的v-on参数问题
Jan 29 Vue.js
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
php 注释规范
2012/03/29 PHP
PHP超全局数组(Superglobals)介绍
2015/07/01 PHP
PHP简单的MVC框架实现方法
2015/12/01 PHP
thinkPHP中钩子的两种配置调用方法详解
2016/11/11 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
PHP进阶学习之命名空间基本用法分析
2019/06/18 PHP
FileUpload 控件 禁止手动输入或粘贴的实现代码
2010/04/07 Javascript
PHP抓取HTTPS内容和错误处理的方法
2016/09/30 Javascript
微信开发 使用picker封装省市区三级联动模板
2016/10/28 Javascript
jQuery 出现Cannot read property ‘msie’ of undefined错误的解决方法
2016/11/23 Javascript
微信端开发--登录小程序步骤
2017/01/11 Javascript
vue实现仿淘宝结账页面实例代码
2017/11/08 Javascript
vue form check 表单验证的实现代码
2018/12/09 Javascript
python中关于时间和日期函数的常用计算总结(time和datatime)
2013/03/08 Python
python使用pymysql实现操作mysql
2016/09/13 Python
python 写入csv乱码问题解决方法
2016/10/23 Python
使用 python pyautogui实现鼠标键盘控制功能
2019/08/04 Python
Python算法的时间复杂度和空间复杂度(实例解析)
2019/11/19 Python
python装饰器代替set get方法实例
2019/12/19 Python
浅谈多卡服务器下隐藏部分 GPU 和 TensorFlow 的显存使用设置
2020/06/30 Python
python解压zip包中文乱码解决方法
2020/11/27 Python
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
如何设定的weblogic的热启动模式(开发模式)与产品发布模式
2012/09/08 面试题
C语言笔试集
2012/07/24 面试题
为什么需要版本控制?
2013/08/08 面试题
学生实习推荐信范文
2013/11/26 职场文书
售后服务承诺书
2014/03/26 职场文书
设计专业自荐信
2014/06/19 职场文书
解除租房协议书
2014/12/03 职场文书
领导欢迎词范文
2015/01/26 职场文书
关于调整工作时间的通知
2015/04/24 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
美德少年主要事迹材料
2015/11/04 职场文书
Arthas排查Kubernetes中应用频繁挂掉重启异常
2022/02/28 MySQL
MySQL count(*)统计总数问题汇总
2022/09/23 MySQL
win11自动弹出虚拟键盘怎么关闭? Win11关闭虚拟键盘的技巧
2023/01/09 数码科技