您好,我是一名后端开发工程师,由于工作需要,现在系统的从0开始学习前端js框架之angular,每天把学习的一些心得分享出来,如果有什么说的不对的地方,请多多指正,多多包涵我这个前端菜鸟,欢迎大家的点评与赐教。谢谢!

  第二天,几天主要学angularjs中的过滤器

  一、简介

  angular js 的过滤器简单的理解就是格式化数据,当数据格式不满足要求时不会报错,直接展示空

  angularjs内置了一些常用的过滤器,当然也可以根据需要自定义过滤器
 
  二、过滤器的使用方式有两种:
  
    1、在html中模板数据绑定内使用:
      其使用方式是:在绑定模板中通过符号“|”来调用过滤器,格式为:{名称|过滤器名称}}
      如果有多个过滤器,那么不同的过滤器间也同样通过符号“|”相连接
      每一个过滤器还可以添加约束条件,约束条件通过符号“:”构成,多个约束条件同样用“:”相连接。
      {名称|过滤器1:约束条件1:约束条件2|过滤器2:约束条件....}}

    2、在js中通过$filter来调用:

      其使用格式为$filter("过滤器名称:约束:约束|过滤器2:约束.....")

       
    3、小练习
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body ng-app="myApp">
<div ng-controller="myContro">
<h1>angular js 之过滤器</h1>
<div>angular js 的过滤器简单的理解就是格式化数据,当数据格式不满足要求时不会报错,直接展示空<br />
angularjs内置了一些常用的过滤器,当然也可以根据需要自定义过滤器
</div>
<div>
过滤器的使用方式有两种:<br />
<h4>在html中模板数据绑定内使用:</h4><br />
其使用方式是:在绑定模板中通过符号“|”来调用过滤器,格式为:{名称|过滤器名称}}<br />
如果有多个过滤器,那么不同的过滤器间也同样通过符号“|”相连接<br />
每一个过滤器还可以添加约束条件,约束条件通过符号“:”构成,多个约束条件同样用“:”相连接。<br />
{名称|过滤器1:约束条件1:约束条件2|过滤器2:约束条件....}} <h4>在js中通过$filter来调用:</h4><br />
其使用格式为$filter("过滤器名称:约束:约束|过滤器2:约束.....")
</div>
<div>
<h3>下面通过一个大小写转换的例子来进行练习</h3>
<h4>过滤器的两种使用方式</h4>
<div>账号:<input type="text" ng-model="user.acount" placeholder="请输入账号信息..."/></div>
<div>html模板中通过过滤器转为大写:{{user.acount|uppercase}}</div>
<div>js代码通过$filter调用转化为小写{{user.acountL}}</div>
<h4>过滤器添加约束条件</h4>
<div>体重:<input type="text" ng-model="user.weight" placeholder="请输入体重,保留两位有效数字"></div>
<div>对体重添加数字过滤器,并且结果展示两位小数:{{user.weight|number:2}}</div>
</div> </div>
</body>
</html>
<script src="../Scripts/angular.js"></script>
<script type="text/javascript">
var myApp = angular.module("myApp",[]);
myApp.controller("myContro", function ($scope, $filter) {
$scope.user = {
acount:"",
acountL:""
} $scope.nowDate = new Date(); ///// 对模型数据user.acount添加一个侦听其改变
$scope.$watch("user.acount", function (newvalue, oldvalue) {
if (newvalue != oldvalue) {
$scope.user.acountL = $filter("lowercase")($scope.user.acount)
}
});
});
</script>
  三、内置过滤器

    1、货币过滤器,关键词:currency

     货币过滤器的实现效果是,在被过滤的学习前加上货币符号,默认货币符号为,当然可以自定义货币符号

    2、时间过滤器,关键词:date

     时间过滤器顾名思义就是格式化时间。
        时间格式的表达式和后端语言一直,简单的罗列回顾几个关键的表示方式
     yy:代表年份的最后两位,如18
        yyyy:代表完整的4位年份
     MM:代表月份
       dd:代表日期
       hh:代表时间12小时制
       HH:代表时间24小时制
       mm:代表分钟
       ss:代表秒
     有了上面的基础,我们要对一个时间进行格式就可以根据需要自由组合了
                  比如我们要格式化为:xxxx年xx月xx日,其格式为:yyyy年MM月dd日

    

    3、针对以上两个内置过滤器做一个小练习

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body ng-app="myApp">
<div ng-controller="myContro">
<h1>angular js 之过滤器</h1>
<div>angular js 的过滤器简单的理解就是格式化数据,当数据格式不满足要求时不会报错,直接展示空<br />
angularjs内置了一些常用的过滤器,当然也可以根据需要自定义过滤器
</div>
<div style="margin-top:60px;">
<h1>内置过滤器</h1>
<h3>货币过滤器,关键词:currency</h3>
<div>货币过滤器的实现效果是,在被过滤的学习前加上货币符号,默认货币符号为,当然可以自定义货币符号</div>
<div>
金额:<input type="text" ng-model="user.price" placeholder="请输入金额" />
<div>默认货币展示结果:{{user.price|number:2|currency}}</div>
<div>自定义货币展示结果:{{user.price|number:2|currency:'人民币'}}</div>
</div> <h3>时间过滤器,关键词:date</h3>
时间过滤器顾名思义就是格式化时间。<br />
时间格式的表达式和后端语言一直,简单的罗列回顾几个关键的表示方式<br />
yy:代表年份的最后两位,如18<br />
yyyy:代表完整的4位年份<br />
MM:代表月份<br />
dd:代表日期<br />
hh:代表时间12小时制<br />
HH:代表时间24小时制<br />
mm:代表分钟<br />
ss:代表秒<br />
有了上面的基础,我们要对一个时间进行格式就可以根据需要自由组合了<br />
比如我们要格式化为:xxxx年xx月xx日,其格式为:yyyy年MM月dd日
<div>例如:格式显示系统当前时间:{{nowDate|date:'yyyy-MM-dd HH:mm:ss'}}</div>
</div> </div>
</body>
</html>
<script src="../Scripts/angular.js"></script>
<script type="text/javascript">
var myApp = angular.module("myApp",[]);
myApp.controller("myContro", function ($scope, $filter) {
});
</script>

  好了,时间也不早了,明天还要上班,今天就先学到这,明天继续学习其他内置过滤器,谢谢大家支持与鼓励。

 
 
 
 
 
 
 
 
 

angularjs学习第二天笔记---过滤器的更多相关文章

  1. Elasticsearch7.X 入门学习第二课笔记----基本api操作和CRUD

    原文:Elasticsearch7.X 入门学习第二课笔记----基本api操作和CRUD 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链 ...

  2. python学习第二次笔记

    python学习第二次记录 1.格式化输出 name = input('请输入姓名') age = input('请输入年龄') height = input('请输入身高') msg = " ...

  3. AngularJS高级程序设计读书笔记 -- 过滤器篇

    一. 过滤器基础 过滤器用于在视图中格式化展现给用户的数据. 一旦定义过滤器之后, 就可在整个模块中全面应用, 也就意味着可以用来保证跨多个控制器和视图之间的数据展示的一致性. 过滤器将数据在被指令处 ...

  4. angularjs学习第一天笔记

    您好,我是一名后端开发工程师,由于工作需要,现在系统的从0开始学习前端js框架之angular,每天把学习的一些心得分享出来,如果有什么说的不对的地方,请多多指正,多多包涵我这个前端菜鸟,欢迎大家的点 ...

  5. iOS阶段学习第二天笔记(数据类型与进制)

    iOS学习(C语言)知识点整理笔记 1.C语言32个关键字 一.存储相关 1)auto 声明自动变量 2)register 声明寄存器变量 3)volatile 声明的变量在程序执行过程中可能被隐含的 ...

  6. angularjs学习第八天笔记(指令作用域研究)

    您好,在前两天对指令的简单了解和系统指令学习后 今天主要研究其指针作用域的相关事情 每一个指令在创建时,其实就构成了自己的一个小的模块单元. 其对于的模块单元都有着其对于的作用域,其中作用域一般有两种 ...

  7. 20191225--python学习第二天笔记(补)

    1.内容回顾 学习计算机基础 安装解释器 2.语法 print/input 整型 int/字符串 str/布尔类型 boolen 条件语句 and运算符 变量 3.练习 评分规则:用户输入成绩,根据成 ...

  8. angularjs学习第九天笔记(指令作用域【隔离作用域】研究)

    您好,昨天学习了指令作用域为布尔型的情况, 今天主要研究其指针作用域为{}的情况 1.当作用域scope为{}时,子作用域完全创建一个独立的作用域, 此时,子做预约和外部作用域完全不数据交互 但是,在 ...

  9. C# 学习第二天笔记

    1. Convert 类型转换 数据类型不兼容的需要转换时,使用Convert转换.转成什么类型就to谁 例: string--> int string a=“b” Int  c= Conver ...

随机推荐

  1. [转载]持续交付和DevOps的前世今生

    作者/分享人:乔梁,20年IT老兵,腾讯公司高级管理顾问,敏捷和精益开发专家,持续交付领域先行者.曾就职于百度,国内多个知名互联网公司的企业教练. 历年QCon技术大会的讲师和专题出品人. 这是一个新 ...

  2. net 把指定 URI 的资源下载到本地

    DirectoryInfo dir = new DirectoryInfo(AppContext.BaseDirectory); var path = dir.FullName + @"te ...

  3. WPF Bitmap转成Imagesource的性能优化

    之前有个需求是在WPF中生成二维码,用的是QRCoder. QRCoder生成的是Bitmap,在wpf中需要转换成ImageSource才能显示. 之前的转换方式是: IntPtr hBitmap ...

  4. 【SPOJ10707】 COT2 Count on a tree II

    SPOJ10707 COT2 Count on a tree II Solution 我会强制在线版本! Solution戳这里 代码实现 #include<stdio.h> #inclu ...

  5. 【问题解决方案】Keras手写数字识别-ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接

    参考:台大李宏毅老师视频课程-Keras-Demo 在载入数据阶段报错: ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接 Google之 ...

  6. Meet in the middle

    搜索是\(OI\)中一个十分基础也十分重要的部分,近年来搜索题目越来越少,逐渐淡出人们的视野.但一些对搜索的优化,例如\(A\)*,迭代加深依旧会不时出现.本文讨论另一种搜索--折半搜索\((meet ...

  7. 输入URL地址到最终页面渲染完成,发生了什么事

    1. 域名DNS解析 - 浏览器DNS缓存 - 系统DNS缓存 - 路由器DNS缓存 - 网络运营商DNS缓存 - 递归搜索...... 2. TCP连接: TCP三次握手 - 第一次握手,由浏览器发 ...

  8. centOS7.10 KDE桌面字体设置推荐

    安装完centOS7.10的KDE桌面后,第一次使用觉得字体太难看了,特别是终端,看着很难受,调整多次后觉得如下设置舒服很多,分享出来以供参考. 其中等宽字 这样整体看着就会舒服很多 ******** ...

  9. MVC3学习:实现文章上一篇下一篇链接

    文章的显示都是通过id查询数据库来显示.但是文章会经常删除,因此id号可能不是连续的,所以上一篇下一篇文章,不能简单的做id加减法. 我的思路是:先将表格中所有文章的ID号全部放入一个数组中,如果文章 ...

  10. vue通过webpack打包后怎么运行

    1. 成功使用webpack打包完成后会默认得到dist的文件夹 2. dist文件夹中有html与其他的静态文件 3. 在dist文件夹中打开命令窗口或者git,开一个服务器(像anywhere) ...