AngularJs双向绑定
2024-10-07 13:56:58
模型数据(Data)
模型是从AngularJS作用域对象的属性引申的。模型中的数据可能是Javascript对象、数组或基本类型,这都不重要,重要的是,他们都属于AngularJS作用域对象。
AngularJS通过作用域来保持数据模型与视图界面UI的双向同步。一旦模型状态发生改变,AngularJS会立即刷新反映在视图界面中,反之亦然。
示例:
html
<!DOCTYPE html>
<html>
<head>
<script src="http://cdn.bootcss.com/angular.js/1.4.0-rc.1/angular.min.js"></script>
<meta charset="utf-8">
<title>AnjularJs</title>
</head>
<body ng-app="page" ng-controller="phoneList">
<!--ng-model start-->
<div class="contianer">
<h3>输入:{{query}}</h3>
搜索:<input type="text" ng-model="query"></br>
选择1:<select ng-model="query1" ng-options="v.val as v.name for v in option">
<option value="">请选择</option>
</select></br>
选择2:<select ng-model="query2">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
</select></br>
排序:<select ng-model="orderProp">
<option value="name" selected>name</option>
<option value="age">age</option>
</select>
<ul class="phones">
<li ng-repeat="phone in phones|filter:query|filter:query1|orderBy:orderProp">
{{phone.name}}
<p>
{{phone.snippet}}
</p>
</li>
</ul>
</div>
<!--ng-model end-->
<!--ng-options start-->
<div class="opt">
基本:<select ng-model="selectLunch" ng-options="lunch.name for lunch in lunches">
<option value="">请选择</option>
</select></br>
自定:<select ng-model="selectLunch" ng-options="(lunch.name + ' (' + lunch.side_dish + ')') for lunch in lunches">
<option value="">请选择</option>
</select></br>
自定value:<select ng-model="selectLunch" ng-options="lunch.name for lunch in lunches track by lunch.price">
<option value="">请选择</option>
</select>
<p>{{selectLunch}}</p>
加入optgroup 分类:<select ng-model="selectLunch" ng-options="lunch.name group by lunch.category for lunch in lunches track by lunch.price">
<option value="">请选择</option>
</select>
<p>{{selectLunch}}</p>
<!--ng-options end-->
</div>
</body>
</html>
css
div{border:3px solid #ccc;padding:10px;margin-top:10px;}
h3{color:#888;padding:;margin:0 0 5px 0;}
p{color:red}
javascript
var app = angular.module('page', []);
app.controller('phoneList', function($scope) {
//模型变量
$scope.phones = [{"name": "Nexus S",
"snippet": "Fast just got faster with Nexus S.",
"age": 0},
{"name": "Motorola XOOM™ with Wi-Fi",
"snippet": "The Next, Next Generation tablet.",
"age": 1},
{"name": "MOTOROLA XOOM™",
"snippet": "The Next, Next Generation tablet.",
"age": 2}];
$scope.orderProp = "age";
$scope.option = [
{"val":0,"name":"-0-"},
{"val":1,"name":"-1-"},
{"val":2,"name":"-2-"}
]; $scope.query1 = "";
$scope.query2 = "0";
//select分组
$scope.lunches = [
{
name: 'Hamburger',
side_dish: 'Corn Soup',
category: 'Food',
price: 50
},
{
name: 'Rice',
side_dish: 'Egg',
category: 'Food',
price: 80
},
{
name: 'Pork',
side_dish: 'Black Tea',
category: 'Food',
price: 100
},
{
name: 'Shit',
side_dish: 'Dog',
category: 'Garbage',
price: 10
}
]; });
最新文章
- Android开发之百度地图--环境搭建
- Divide and conquer:Telephone Lines(POJ 3662)
- Linux中命令链接操作符的十个最佳实例
- myEclipse和eclipse修改或复制项目名称后-更新部署名称
- 005_MyEclipse编码设置
- WebView redirect https to http
- python的map()函数
- PHP常用代码大全(新手入门必备)
- 学Java,是自学还是去培训班学习?
- Ecto中的changeset,schema,struct,map
- 创建springboot项目
- Java中语法与C/CPP的区别
- Qt5OpenGL.术语01
- mysql 的 select into 带来的错误数据问题
- Keepalived 进程无法关闭
- 《JavaScript 高级程序设计》第一章:简介
- (转)C#中的委托(Delegate)和事件(Event)
- VBA 使用QueryTables 中文乱码的处理
- Linux 安装MySQL-python
- windows下thrift的使用(python)
热门文章
- 【大量干货】史上最完整的Tengine HTTPS原理解析、实践与调试
- [CSP-S模拟测试]:任(duty)(二维前缀和)
- NSProxy实现AOP方便为ios应用实现异常处理策略
- 2019牛客暑期多校训练营(第九场)H	Cutting Bamboos(主席树+二分)
- AtCoder Grand Contest 012 B - Splatter Painting(dp)
- change可以重命名列名,也可能修改列的类型和约束,而modify只能修改列的数据类型。
- oracle 数据迁移之数据泵的基本使用
- MySQL体系结构概览
- mysql_DCL_grant/revoke
- 《图解设计模式》读书笔记3-1 Singleton模式