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 相关文章推荐
js小技巧--自动隐藏红叉叉
Aug 13 Javascript
Array的push与unshift方法性能比较分析
Mar 05 Javascript
Js中setTimeout()和setInterval() 何时被调用执行的用法
Apr 12 Javascript
jquery的each方法使用示例分享
Mar 25 Javascript
如何清除IE10+ input X 文本框的叉叉和密码输入框的眼睛图标
Dec 21 Javascript
微信小程序中input标签详解及简单实例
May 18 Javascript
jquery与js实现全选功能的区别
Jun 11 jQuery
详解在Angular项目中添加插件ng-bootstrap
Jul 04 Javascript
Vue项目使用localStorage+Vuex保存用户登录信息
May 27 Javascript
聊聊Vue中provide/inject的应用详解
Nov 10 Javascript
详解Vue 单文件组件的三种写法
Feb 19 Javascript
VUE 单页面使用 echart 窗口变化时的用法
Jul 30 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
ThinkPHP自定义Redis处理SESSION的实现方法
2016/05/16 PHP
PHP数据库处理封装类实例
2016/12/24 PHP
JavaScript调试技巧之console.log()详解
2014/03/19 Javascript
js事件监听器用法实例详解
2015/06/01 Javascript
Javascript中setTimeOut和setInterval的定时器用法
2015/06/12 Javascript
javascript中SetInterval与setTimeout的定时器用法
2015/08/24 Javascript
jquery实现无刷新验证码的简单实例
2016/05/19 Javascript
jQuery  ready方法实现原理详解
2016/10/19 Javascript
使用JavaScript触发过渡效果的方法
2017/01/19 Javascript
Bootstrap 模态框(Modal)带参数传值实例
2017/08/20 Javascript
nodejs实现套接字服务功能详解
2018/06/21 NodeJs
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
JavaScript学习笔记之图片库案例分析
2019/01/08 Javascript
jQuery实现表格的增、删、改操作示例
2019/01/27 jQuery
JS中超越现实的匿名函数用法实例分析
2019/06/21 Javascript
javascript中this的用法实践分析
2019/07/29 Javascript
vue自定义switch开关组件,实现样式可自行更改
2019/11/01 Javascript
基于vue实现探探滑动组件功能
2020/05/29 Javascript
详解vue3.0 diff算法的使用(超详细)
2020/07/01 Javascript
vue+element获取el-table某行的下标,根据下标操作数组对象方式
2020/08/07 Javascript
基于js实现的图片拖拽排序源码实例
2020/11/04 Javascript
Python的Flask框架中@app.route的用法教程
2015/03/31 Python
Pycharm学习教程(3) 代码运行调试
2017/05/03 Python
Python unittest模块用法实例分析
2018/05/25 Python
详解Django中类视图使用装饰器的方式
2018/08/12 Python
详解python爬虫系列之初识爬虫
2019/04/06 Python
解决python执行不输出系统命令弹框的问题
2019/06/24 Python
Python处理mysql特殊字符的问题
2020/03/02 Python
全球最大运动品牌的男装、女装和童装官方库存商:A&A Sports
2021/01/17 全球购物
一套Delphi的笔试题二
2013/05/11 面试题
信息管理专业推荐信
2013/10/29 职场文书
职业规划书如何设计?
2014/01/09 职场文书
动漫设计与制作专业推荐信
2014/07/07 职场文书
公民授权委托书范本
2014/09/17 职场文书
2016年学校党支部创先争优活动总结
2016/04/05 职场文书
Python Pandas pandas.read_sql_query函数实例用法分析
2021/06/21 Python