angularjs随笔01 数据双向绑定理解 自定义过滤器 时钟更新列子

1.   数据的双向绑定可以简单的理解为,无论在文本框中输入什么,都会在数据模型中显示出来输入的内容,

双向绑定的模型和数据是进行动态绑定的,实时检查进行修改。

<input type="text" ng-model="name">
{{name}}

在上述代码中,通过angular.js将数据模型对象($scope)的name属性与文本模型绑定在一起,然后就实现了在输入框输入什么都会

在文本模型中显示对应的内容,实时更新。

控制器controller,

2.时钟更新列子

index.html

 1 <!doctype html>
 2 <html >
 3 <head>
 4     <meta charset="utf-8">
 5 </head>
 6 <script src="js/angular-1.3.0.js"></script>
 7 <script src="js/clock.js"></script>
 8 <body ng-app="myApp">
 9 <div ng-controller="MyController">
10     <h1>{{clock}}</h1>
11 </div>
12 </body>
13 </html>

clock.js

 1 var app=angular.module("myApp",[]);
 2 app.controller("MyController",function($scope){
 3         var updateClock=function(){
 4            $scope.clock=new Date();
 5         };
 6         setInterVal(function(){
 7            $scope.$apply(updateClock);
 8          },1000);
 9           updateClock();
10 });
11 //不理解$apply时
12 function MyController($scope, $timeout) {
13           var updateClock = function() {
14            $scope.clock = new Date();
15            $timeout(function() {
16                   updateClock();
17                  }, 1000);
18             };
19             updateClock();
20 };

如果在页面中给ng-app赋值,就要在js中对其进行声明

 var app=angular.module("myApp",[]);

3.自定义过滤器     angularjs中存在多种过滤:     1.currency   将数值格式化,转化为货币格式     2.uppercase  字符转换为大写  lowercase 字符转换为小写     3.number  number:2 就代表小数点后两位     4.date格式化  下面是angularjs教程中总结的date格式化
 1 {{ today | date:‘medium‘ }} <!-- Aug 09, 2013 12:09:02 PM -->
 2       {{ today | date:‘short‘ }} <!-- 8/9/1312:09PM -->
 3       {{ today | date:‘fullDate‘ }} <!-- Thursday, August 09, 2013 -->
 4       {{ today | date:‘longDate‘ }} <!-- August 09, 2013 -->
 5       {{ today | date:‘mediumDate‘ }}<!-- Aug 09, 2013 -->
 6       {{ today | date:‘shortDate‘ }} <!-- 8/9/13 -->
 7       {{ today | date:‘mediumTime‘ }}<!-- 12:09:02 PM -->
 8       {{ today | date:‘shortTime‘ }} <!-- 12:09 PM -->
 9       ? 年份格式化
10       四位年份: {{ today | date:‘yyyy‘ }} <!-- 2013 -->
11       两位年份: {{ today | date:‘yy‘ }} <!-- 13 -->
12       一位年份: {{ today | date:‘y‘ }} <!-- 2013 -->
13       ? 月份格式化
14       英文月份: {{ today | date:‘MMMM‘ }} <!-- August -->
15       英文月份简写: {{ today | date:‘MMM‘ }} <!-- Aug -->
16       数字月份: {{ today |date:‘MM‘ }} <!-- 08 -->
17       一年中的第几个月份: {{ today |date:‘M‘ }} <!-- 8 -->
18       ? 日期格式化
19       数字日期: {{ today|date:‘dd‘ }} <!-- 09 -->
20       一个月中的第几天: {{ today | date:‘d‘ }} <!-- 9 -->
21       英文星期: {{ today | date:‘EEEE‘ }} <!-- Thursday -->
22       英文星期简写: {{ today | date:‘EEE‘ }} <!-- Thu -->
23       ? 小时格式化
24       24小时制数字小时: {{today|date:‘HH‘}} <!--00-->
25       一天中的第几个小时: {{today|date:‘H‘}} <!--0-->
26       12小时制数字小时: {{today|date:‘hh‘}} <!--12-->
27       上午或下午的第几个小时: {{today|date:‘h‘}} <!--12-->
28       ? 分钟格式化
29       数字分钟数: {{ today | date:‘mm‘ }} <!-- 09 -->
30       一个小时中的第几分钟: {{ today | date:‘m‘ }} <!-- 9 -->
31       ? 秒数格式化
32       数字秒数: {{ today | date:‘ss‘ }} <!-- 02 -->
33       一分钟内的第几秒: {{ today | date:‘s‘ }} <!-- 2 -->
34       毫秒数: {{ today | date:‘.sss‘ }} <!-- .995 -->
35       ? 字符格式化
36       上下午标识: {{ today | date:‘a‘ }} <!-- AM -->
37       四位时区标识: {{ today | date:‘Z‘ }} <!--- 0700 -->
      5.filter过滤器   将包含传入的元素的对象输出,抛弃不包含的       6.json将一个JSON或者对象转换成字符串      7.limitTo  根据传入的数字截取该数字长度的字符串,为正值时从头部截取,为负值的时候从尾部截取      8.orderBy   根据传入的字段,按照此字段进行排序
时间: 2024-10-11 06:04:10

angularjs随笔01 数据双向绑定理解 自定义过滤器 时钟更新列子的相关文章

AngularJS(2)——AngularJS数据双向绑定

双向绑定 AngularJS在$scope变量中使用脏值检测来实现了数据双向绑定. Scope作用: 1.通过数据共享连接Controller和View 2.事件的监听和响应 3.脏值检测和数据绑定 双向数据绑定最经常的应用场景就是表单了,这样当用户在前端页面完成输入后,不用任何操作,我们就已经拿到了用户的数据存放到数据模型中了.因为输入框中的ng-model和控制器中的数值实现了双向绑定,所以更改输入框的值或者更改控制器中的值,都会相应的更改双方的值.$scope对象,我们可以理解为NG框架中

我的angularjs源码学习之旅3——脏检测与数据双向绑定

前言 为了后面描述方便,我们将保存模块的对象modules叫做模块缓存.我们跟踪的例子如下 <div ng-app="myApp" ng-controller='myCtrl'> <input type="text" ng-model='name'/> <span style='width: 100px;height: 20px; margin-left: 300px;'>{{name}}</span> </di

AngularJS学习--- AngularJS中数据双向绑定(two-way data-binding) orderBy step4

1.切换工作目录 git checkout step-4 #切换分支,切换到第4步 npm start #启动项目 2.代码 app/index.html Search: <input ng-model="query"> Sort by: <select ng-model="orderProp"> <option value="name">Alphabetical</option> <opti

AngularJS数据双向绑定

AngularJS是近些年流行的前端语言,通过新的属性和表达式扩展了HTML,克服了HTML在构建应用上的不足.Angular声明式的模板功能强大,自带了丰富的指令,是一个完善的前端MVVM框架,实现了数据双向绑定.过滤器.依赖注入.模块化.服务等功能.AngularJS实现数据双向绑定分别表现在与浏览器交互和与用户交互. 1.1.1 AugularJS与浏览器交互 当浏览器访问到AngularJS脚本时,浏览器做了如下操作: 加载html,对DOM进行解析: 加载angularJS脚本: An

深入理解Proxy 及 使用Proxy实现vue数据双向绑定

阅读目录 1.什么是Proxy?它的作用是? 2.get(target, propKey, receiver) 3.set(target, propKey, value, receiver) 4.has(target, propKey) 5.construct(target, args, newTarget): 6.apply(target, object, args) 7.使用Proxy实现简单的vue双向绑定 回到顶部 1.什么是Proxy?它的作用是? 据阮一峰文章介绍:Proxy可以理解

Angular数据双向绑定

Angular数据双向绑定 AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购.是一款优秀的前端JS框架,已经被用于Google的多款产品当中.AngularJS有着诸多特性,最为核心的是:MVVM.模块化.自动化双向数据绑定.语义化标签.依赖注入等等. 一.什么是数据双向绑定 Angular实现了双向绑定机制.所谓的双向绑定,无非是从界面的操作能实时反映到数据,数据的变更能实时展现到界面. 一个最简单的示例就是这样: <div ng-control

VUE的数据双向绑定

1.概述 让我们先来看一下官网的这张数据绑定的说明图: 原理图告诉我们,a对象下面的b属性定义了getter.setter对属性进行劫持,当属性值改变是就会notify通知watch对象,而watch对象则会notify到view上对应的位置进行更新(这个地方还没讲清下面再讲),然后我们就看到了视图的更新了,反过来当在视图(如input)输入数据时,也会触发订阅者watch,更新最新的数据到data里面(图中的a.b),这样model数据就能实时响应view上的数据变化了,这样一个过程就是数据的

Vue数据双向绑定原理及简单实现

嘿,Goodgirl and GoodBoy,点进来了就看完点个赞再go. Vue这个框架就不简单介绍了,它最大的特性就是数据的双向绑定以及虚拟dom.核心就是用数据来驱动视图层的改变.先看一段代码. 一.示例 var vm = new Vue({ data: { obj: { a: 1 } }, created: function () { console.log(this.obj); } }); 二.实现原理 vue数据双向绑定是通过数据劫持结合发布者-订阅者模式的方式来实现的. 1)数据劫

Vue数据双向绑定(面试必备) 极简版

我又来吹牛逼了,这次我们简单说一下vue的数据双向绑定,我们这次不背题,而是要你理解这个流程,保证读完就懂,逢人能讲,面试必过,如果没做到,请再来看一遍,走起: 介绍双向数据之前,我们先解释几个名词: 1.setter.getter 答:首先,别误以为他们就是一会要说的get.set, 原文地址:https://www.cnblogs.com/webcabana/p/11077628.html