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中的prototype属性使用说明(函数功能扩展)
Aug 16 Javascript
jquery 单击li防止重复加载的实现代码
Dec 24 Javascript
ext前台接收action传过来的json数据示例
Jun 17 Javascript
jQuery插件简单实现方法
Jul 18 Javascript
jQuery实现点击行选中或取消CheckBox的方法
Aug 01 Javascript
vue开发心得和技巧分享
Oct 27 Javascript
jquery Banner轮播选项卡
Dec 26 Javascript
微信小程序实现点击返回顶层的方法
Jul 12 Javascript
JS加密插件CryptoJS实现的Base64加密示例
Aug 16 Javascript
this.$toast() 了解一下?
Apr 18 Javascript
LayUI数据接口返回实体封装的例子
Sep 12 Javascript
JavaScript实现打字游戏
Feb 19 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通用分页类page.php[仿google分页]
2008/08/31 PHP
PHPMailer使用教程(PHPMailer发送邮件实例分析)
2012/12/06 PHP
PHP使用SOAP调用.net的WebService数据
2013/11/12 PHP
php实现简易聊天室应用代码
2015/09/23 PHP
php+MySQL实现登录时验证登录名和密码是否正确
2016/05/10 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
PHP抽象类与接口的区别实例详解
2019/05/09 PHP
Gambit vs CL BO3 第二场 2.13
2021/03/10 DOTA
页面中body onload 和 window.onload 冲突的问题的解决
2009/07/01 Javascript
js子页面获取父页面数据示例
2014/05/15 Javascript
使用jQuery实现星级评分代码分享
2014/12/09 Javascript
分享十五款 jQuery 社交网络分享插件
2015/05/16 Javascript
JS实现“隐藏与显示”功能(多种方法)
2016/11/24 Javascript
BootStrap Tooltip插件源码解析
2016/12/27 Javascript
使用jQuery的load方法设计动态加载及解决被加载页面js失效问题
2017/03/01 Javascript
使用node.js搭建服务器
2017/05/20 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
2017/07/25 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
2018/03/03 Javascript
微信小程序生成二维码的示例代码
2019/03/29 Javascript
JS定义函数的几种常用方法小结
2019/05/23 Javascript
了解JavaScript表单操作和表单域
2019/05/27 Javascript
vue中使用百度脑图kityminder-core二次开发的实现
2019/09/26 Javascript
vue使用video插件vue-video-player的示例
2020/10/03 Javascript
[43:32]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第一场
2014/05/26 DOTA
[02:00]最后,我终于出了辉耀
2018/03/27 DOTA
pygame学习笔记(2):画点的三种方法和动画实例
2015/04/15 Python
python pandas 组内排序、单组排序、标号的实例
2018/04/12 Python
Django Rest framework三种分页方式详解
2019/07/26 Python
python 爬虫百度地图的信息界面的实现方法
2019/10/27 Python
使用Pandas的Series方法绘制图像教程
2019/12/04 Python
用pushplus+python监控亚马逊到货动态推送微信
2021/01/29 Python
经典c++面试题三
2015/07/08 面试题
大专生简历的自我评价
2013/11/26 职场文书
教师学习八项规定六项禁令思想汇报
2014/09/27 职场文书
2014小学语文教师个人工作总结
2014/12/03 职场文书
怎么禁用Win11输入法 最新Win11输入法关闭教程
2022/08/05 数码科技