AngularJS 模型详细介绍及实例代码


Posted in Javascript onJuly 27, 2016

AngularJS ng-model 指令

ng-model 指令用于绑定应用程序数据到 HTML 控制器(input, select, textarea)的值。

ng-model 指令

ng-model 指令可以将输入域的值与 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">
</div>

<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
  $scope.name = "John Doe";
});
</script>

<p>使用 ng-model 指令来绑定输入域的值到控制器的属性。</p>

</body>
</html>

运行结果:

名字: 

使用 ng-model 指令来绑定输入域的值到控制器的属性。

双向绑定

双向绑定,在修改输入域的值时, 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 Doe";
});
</script>

<p>修改输入框的值,标题的名字也会相应修改。</p>

</body>
</html>

运行结果:

名字: 

你输入了: John Doe

修改输入框的值,标题的名字也会相应修改。

验证用户输入

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>

<form ng-app="" name="myForm">
  Email:
  <input type="email" name="myAddress" ng-model="text">
  <span ng-show="myForm.myAddress.$error.email">不是一个合法的邮箱地址</span>
</form>

<p>在输入框中输入你的邮箱地址,如果不是一个合法的邮箱地址,会弹出提示信息。</p>

</body>
</html>

运行结果:

Email: 

在输入框中输入你的邮箱地址,如果不是一个合法的邮箱地址,会弹出提示信息。

 CSS 类

ng-model 指令基于它们的状态为 HTML 元素提供了 CSS 类:

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> 
<style>
input.ng-invalid {
  background-color: lightblue;
}
</style>
</head>
<body>

<form ng-app="" name="myForm">
  输入你的名字:
  <input name="myName" ng-model="myText" required>
</form>

<p>编辑文本域,不同状态背景颜色会发送变化。</p>
<p>文本域添加了 required 属性,该值是必须的,如果为空则是不合法的。</p>

</body>
</html>

 运行结果:

输入你的名字: 

编辑文本域,不同状态背景颜色会发送变化。

文本域添加了 required 属性,该值是必须的,如果为空则是不合法的。

ng-model 指令根据表单域的状态添加/移除以下类:

ng-empty
ng-not-empty
ng-touched
ng-untouched
ng-valid
ng-invalid
ng-dirty
ng-pending
ng-pristine

Javascript 相关文章推荐
JavaScript 基于原型的对象(创建、调用)
Oct 16 Javascript
js压缩工具 yuicompressor 使用教程
Mar 31 Javascript
jquery dialog键盘事件代码
Aug 01 Javascript
JavaScript 高级篇之函数 (四)
Apr 07 Javascript
js禁止页面刷新禁止用F5键刷新禁止右键的示例代码
Sep 23 Javascript
javascript ajax 仿百度分页函数
Oct 29 Javascript
JavaScript保留两位小数的2个自定义函数
May 05 Javascript
点击标签切换和自动切换DIV选项卡
Aug 10 Javascript
jQuery中:file选择器用法实例
Jan 04 Javascript
JavaScript实现获取dom中class的方法
Feb 09 Javascript
vue-cli2.9.3 详细教程
Apr 23 Javascript
JS变量提升及函数提升实例解析
Sep 03 Javascript
jQuery使用serialize()表单序列化时出现中文乱码问题的解决办法
Jul 27 #Javascript
详解Angular开发中的登陆与身份验证
Jul 27 #Javascript
jQuery+css实现非常漂亮的水平导航菜单效果
Jul 27 #Javascript
jQuery+CSS实现简单切换菜单示例
Jul 27 #Javascript
AngularJS 指令详细介绍
Jul 27 #Javascript
js中遍历Map对象的方法
Jul 27 #Javascript
angular.js分页代码的实例
Jul 27 #Javascript
You might like
全面解析PHP验证码的实现原理 附php验证码小案例
2016/08/17 PHP
解决Laravel 不能创建 migration 的问题
2019/10/09 PHP
非常好的js代码
2006/06/27 Javascript
JavaScript中实现Map的示例代码
2015/09/09 Javascript
jquery判断输入密码两次是否相等
2020/04/22 Javascript
jQuery Easyui使用(二)之可折叠面板动态加载无效果的解决方法
2016/08/17 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
javascript内存分配原理实例分析
2017/04/10 Javascript
Javascript实现信息滚动效果
2017/05/18 Javascript
JavaScript使用atan2来绘制箭头和曲线的实例
2017/09/14 Javascript
vue登录注册及token验证实现代码
2017/12/14 Javascript
浅谈vue中.vue文件解析流程
2018/04/24 Javascript
vue实现拖拽的简单案例 不超出可视区域
2019/07/25 Javascript
过滤器vue.filters的使用方法实现
2019/09/18 Javascript
详解React的回调渲染模式
2020/09/10 Javascript
linux环境下安装pyramid和新建项目的步骤
2013/11/27 Python
python使用xlrd实现检索excel中某列含有指定字符串记录的方法
2015/05/09 Python
Python读取网页内容的方法
2015/07/30 Python
python实现各进制转换的总结大全
2017/06/18 Python
python实现微信发送邮件关闭电脑功能
2018/02/22 Python
python用for循环求和的方法总结
2019/07/08 Python
简单了解Django应用app及分布式路由
2019/07/24 Python
Python3将jpg转为pdf文件的方法示例
2019/12/13 Python
Python面向对象原理与基础语法详解
2020/01/02 Python
使用 django orm 写 exists 条件过滤实例
2020/05/20 Python
Python通过fnmatch模块实现文件名匹配
2020/09/30 Python
Charlotte Tilbury美国官网:英国美妆品牌
2017/10/13 全球购物
C#如何调用Word并打开一个Word文档
2013/05/08 面试题
超市后勤自我鉴定
2014/01/17 职场文书
整顿机关作风心得体会
2014/09/10 职场文书
2014年初级职称工作总结
2014/12/08 职场文书
学习雷锋主题班会
2015/08/14 职场文书
小学班级管理心得体会
2016/01/07 职场文书
高中班主任心得体会
2016/01/07 职场文书
《追风筝的人》:人心中的成见是座大山,但请不忘初心
2019/11/15 职场文书
教你用Python matplotlib库制作简单的动画
2021/06/11 Python