AngularJS入门教程之AngularJS模型


Posted in Javascript onApril 18, 2016

相关阅读:

在前面表达式和指令的教程中了解到,AngularJS模型(ng-model)可以将HTML输入域中的值与AngularJS创建的变量绑定。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<div ng-app="" ng-init="name='Jone Snow'">
名字: <input ng-model="name">
</div>
</body>
</html>

双向绑定 AngularJS的双向绑定, 是指ng-model与HTML的输入域绑定,同时也与AngularJS的属性绑定,所以当输入域的值改变的时候,AngularJS的属性值也会改变。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
名字: <input ng-model="name">
<h1>你输入了: {{name}}</h1>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.name = "John Snow";
});
</script>
<p>修改输入框的值,标题的名字也会相应修改。</p>
</body>
</html>

应用状态 ng-model 指令可以为应用数据提供状态值

dirty 当数据被修改时状态为TRUE,没有被修改过为FALSE。即使修改为原来的值,也为TRUE。

valid 输入值合法时为TRUE,不合法则为FALSE。

touched 通过触屏点击为TRUE,没有点击为FALSE。

根据状态来应用CSS样式

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<style>
input.ng-invalid {
background-color: lightblue;
}
</style>
<body>
<form ng-app="" name="myForm">
输入你的名字:
<input name="myAddress" ng-model="text" required>
</form>
</body>
</html>

input域增加了required状态,当input域没有输入时,ng-model为input域增加ng-invalid样式。反之则删除ng-invalid样式。 ng-model 指令根据表单域的状态添加/移除以下样式: - ng-empty - ng-not-empty - ng-touched - ng-untouched - ng-valid - ng-invalid - ng-dirty - ng-pending - ng-pristine 使用ng-model验证邮箱格式

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<form ng-app="" name="myForm">
Email:
<input type="email" name="myAddress" ng-model="text">
<span ng-show="myForm.myAddress.$error.email">不是一个合法的邮箱地址</span>
</form>
</body>
</html>

myForm.myAddress.$error.email属性为TRUE(邮箱格式不正确)时,ng-show会控制span的内容显示出来。

以上内容是小编给大家介绍的AngularJS入门教程之AngularJS模型,希望对大家有所帮助!

Javascript 相关文章推荐
jquery validation插件表单验证的一个例子
Mar 03 Javascript
JavaScript学习历程和心得小结
Aug 16 Javascript
jquery使用正则表达式验证email地址的方法
Jan 22 Javascript
基于jquery插件实现拖拽删除图片功能
Aug 27 Javascript
JS监听微信、支付宝等移动app及浏览器的返回、后退、上一页按钮的事件方法
Aug 05 Javascript
JS识别浏览器类型(电脑浏览器和手机浏览器)
Nov 18 Javascript
详解javascript中对数据格式化的思考
Jan 23 Javascript
self.attachevent is not a function的解决方法
Apr 04 Javascript
Node.JS循环删除非空文件夹及子目录下的所有文件
Mar 12 Javascript
微信小程序使用二次贝塞尔曲线画波浪
Dec 25 Javascript
swiper实现导航滚动效果
Dec 13 Javascript
游戏开发中如何使用CocosCreator进行音效处理
Apr 14 Javascript
AngularJS入门教程之AngularJS指令
Apr 18 #Javascript
AngularJS入门教程之AngularJS表达式
Apr 18 #Javascript
jQuery animate和CSS3相结合实现缓动追逐效果附源码下载
Apr 18 #Javascript
jQuery使用$.each遍历json数组的简单实现方法
Apr 18 #Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
Apr 18 #Javascript
JS中artdialog弹出框控件之提交表单思路详解
Apr 18 #Javascript
jQuery实现鼠标跟随提示层效果代码(可显示文本,Div,Table,Html等)
Apr 18 #Javascript
You might like
php 操作调试的方法
2012/07/12 PHP
CI框架装载器Loader.php源码分析
2014/11/04 PHP
学习php开源项目的源码指南
2014/12/21 PHP
php中JSON的使用方法
2015/04/30 PHP
PHP的openssl加密扩展使用小结(推荐)
2016/07/18 PHP
PHP+redis实现微博的推模型案例分析
2019/07/10 PHP
用javascript实现给出的盒子的序列是否可连为一矩型
2007/08/30 Javascript
javascript 表单的友好用户体现
2009/01/07 Javascript
PHP abstract与interface之间的区别
2013/11/11 Javascript
当滚动条滚动到页面底部自动加载增加内容的js代码
2014/05/13 Javascript
关于javaScript注册click事件传递参数的不成功问题
2014/07/18 Javascript
JavaScript实现的内存数据库LokiJS介绍和入门实例
2014/11/17 Javascript
js仿黑客帝国字母掉落效果代码分享
2020/11/08 Javascript
Bootstrap进度条学习使用
2017/02/09 Javascript
Vue 2.0学习笔记之Vue中的computed属性
2017/10/16 Javascript
快速解决angularJS中用post方法时后台拿不到值的问题
2018/08/14 Javascript
vue使用require.context实现动态注册路由
2020/12/25 Vue.js
Python开发常用的一些开源Package分享
2015/02/14 Python
Python中的高级数据结构详解
2015/03/27 Python
Sanic框架异常处理与中间件操作实例分析
2018/07/16 Python
Python3.6简单的操作Mysql数据库的三个实例
2018/10/17 Python
实例讲解Python中整数的最大值输出
2019/03/17 Python
python-django中的APPEND_SLASH实现方法
2019/06/21 Python
解决pycharm编辑区显示yaml文件层级结构遇中文乱码问题
2020/04/27 Python
Python selenium使用autoIT上传附件过程详解
2020/05/26 Python
python cv2.resize函数high和width注意事项说明
2020/07/05 Python
keras分类之二分类实例(Cat and dog)
2020/07/09 Python
关于css中margin的值和垂直外边距重叠问题
2020/10/27 HTML / CSS
借助HTML5 Canvas来绘制三角形和矩形等多边形的方法
2016/03/14 HTML / CSS
Noon埃及:埃及在线购物
2019/11/26 全球购物
小孩百日宴答谢词
2014/01/15 职场文书
创建绿色学校先进个人材料
2014/08/20 职场文书
2014年小学生迎国庆65周年演讲稿
2014/09/27 职场文书
律师函格式范本
2015/05/27 职场文书
pygame面向对象的飞行小鸟实现(Flappy bird)
2021/04/01 Python
动作冒险《Hell Is Us》将采用虚幻5 消灭怪物探索王国
2022/04/13 其他游戏