模型数据(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
}
]; });

  

最新文章

  1. Android开发之百度地图--环境搭建
  2. Divide and conquer:Telephone Lines(POJ 3662)
  3. Linux中命令链接操作符的十个最佳实例
  4. myEclipse和eclipse修改或复制项目名称后-更新部署名称
  5. 005_MyEclipse编码设置
  6. WebView redirect https to http
  7. python的map()函数
  8. PHP常用代码大全(新手入门必备)
  9. 学Java,是自学还是去培训班学习?
  10. Ecto中的changeset,schema,struct,map
  11. 创建springboot项目
  12. Java中语法与C/CPP的区别
  13. Qt5OpenGL.术语01
  14. mysql 的 select into 带来的错误数据问题
  15. Keepalived 进程无法关闭
  16. 《JavaScript 高级程序设计》第一章:简介
  17. (转)C#中的委托(Delegate)和事件(Event)
  18. VBA 使用QueryTables 中文乱码的处理
  19. Linux 安装MySQL-python
  20. windows下thrift的使用(python)

热门文章

  1. 【大量干货】史上最完整的Tengine HTTPS原理解析、实践与调试
  2. [CSP-S模拟测试]:任(duty)(二维前缀和)
  3. NSProxy实现AOP方便为ios应用实现异常处理策略
  4. 2019牛客暑期多校训练营(第九场)H Cutting Bamboos(主席树+二分)
  5. AtCoder Grand Contest 012 B - Splatter Painting(dp)
  6. change可以重命名列名,也可能修改列的类型和约束,而modify只能修改列的数据类型。
  7. oracle 数据迁移之数据泵的基本使用
  8. MySQL体系结构概览
  9. mysql_DCL_grant/revoke
  10. 《图解设计模式》读书笔记3-1 Singleton模式