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 相关文章推荐
Javascript实现的分页函数
Dec 22 Javascript
摘自启点的main.js
Apr 20 Javascript
javascript 尚未实现错误解决办法
Nov 27 Javascript
用JavaScript仿PS里的羽化效果代码
Dec 20 Javascript
javascript中的onkeyup和onkeydown区别介绍
Apr 28 Javascript
浅析JavaScript中两种类型的全局对象/函数
Dec 05 Javascript
深入探究使JavaScript动画流畅的一些方法
Jun 30 Javascript
javascript中tostring()和valueof()的用法及两者的区别
Nov 16 Javascript
用jQuery实现优酷首页轮播图
Jan 09 Javascript
JS实现JSON.stringify的实例代码讲解
Feb 07 Javascript
详解Angular Karma测试的持续集成实践
Nov 15 Javascript
vue 实现动态路由的方法
Jul 06 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解析html的实现代码
2011/08/08 PHP
微信公众平台网页授权获取用户基本信息中授权回调域名设置的变动
2014/10/21 PHP
php使用scandir()函数扫描指定目录下所有文件示例
2019/06/08 PHP
事件模型在各浏览器中存在差异
2010/10/20 Javascript
js 函数的副作用分析
2011/08/23 Javascript
javascript动画对象支持加速、减速、缓入、缓出的实现代码
2012/09/30 Javascript
mailto的使用技巧分享
2012/12/21 Javascript
通过location.replace禁止浏览器后退防止重复提交
2014/09/04 Javascript
浅谈jQuery中的事件
2015/03/23 Javascript
动态创建按钮的JavaScript代码
2016/01/29 Javascript
js使用xml数据载体实现城市省份二级联动效果
2017/11/08 Javascript
JavaScript展开操作符(Spread operator)详解
2019/07/20 Javascript
详细教你微信公众号正文页SVG交互开发技巧
2019/07/25 Javascript
JavaScript如何实现监听键盘输入和鼠标监点击
2020/07/20 Javascript
vue+ElementUI 关闭对话框清空验证,清除form表单的操作
2020/08/06 Javascript
python静态方法实例
2015/01/14 Python
在Python下尝试多线程编程
2015/04/28 Python
Python编程中运用闭包时所需要注意的一些地方
2015/05/02 Python
PyQt5每天必学之滑块控件QSlider
2018/04/20 Python
Python面向对象类继承和组合实例分析
2018/05/28 Python
Python直接赋值、浅拷贝与深度拷贝实例分析
2019/06/18 Python
Python 实现交换矩阵的行示例
2019/06/26 Python
python networkx 根据图的权重画图实现
2019/07/10 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
基于HTML5 Canvas的3D动态Chart图表的示例
2017/11/02 HTML / CSS
小程序瀑布流解决左右两边高度差距过大的问题
2019/02/20 HTML / CSS
Ben Sherman官方网站:英国男装品牌
2019/10/22 全球购物
英国时尚和家居用品零售商:Matalan
2021/02/28 全球购物
MySQL面试题目集锦
2016/04/14 面试题
房地产管理毕业生自荐信
2013/11/04 职场文书
羽毛球社团活动总结
2014/06/27 职场文书
2015大学生自我评价范文
2015/03/03 职场文书
行政复议答复书
2015/07/01 职场文书
超市店长竞聘书
2015/09/15 职场文书
导游词之苏州阳澄湖
2019/11/15 职场文书
如何在Python中创建二叉树
2021/03/30 Python