AngularJS变量及过滤器Filter用法分析


Posted in Javascript onNovember 22, 2016

本文实例讲述了AngularJS变量及过滤器Filter用法。分享给大家供大家参考,具体如下:

1. 关于部分变量的操作

设置变量:

ng-init="hour=14" //设置hour变量在DOM中 使用data-ng-init 更好些
$scope.hour = 14; //设置hour变量在js中

使用变量:

(1) 如果是在DOM 相关的 ng-*** 属性里 直接写变量名

如:

<p ng-show="hour > 13">I am visible.</p>

(2) 如果是在控制器HTML 中但是不在 ng属性里

使用{{变量名}}

如:

{{hour}}

(3) 当然第三种就是上面的 在js中使用

加上对象名 $scope.

$scope.hour

(4) 在表单控件中 ng-model中的变量 可以直接

同时在 html 中 使用 {{变量名}}

<p>Name: <input type="text" ng-model="name"></p>
<p>You wrote: {{ name }}</p>

还可以通过 ng-bind 属性进行变量绑定

<p>Name: <input type="text" ng-model="name"></p>
<p ng-bind="name"></p>

(5) 可以直接在ng的属性 或变量中使用表达式

会自动帮你计算 需要符合js语法

ng-show="true?false:true"
{{5+6}}
<div ng-app="" ng-init="points=[1,15,19,2,40]">
  <p>The third result is <span ng-bind="points[2]"></span></p>
</div>

2. js中的变量循环

<div ng-app="" ng-init="names=['Jani','Hege','Kai']">
 <ul>
  <li ng-repeat="x in names">
   {{ x }}
  </li>
 </ul>
</div>

3.变量的过滤 filter

Filter         Description
currency    以金融格式格式化数字
filter          选择从一个数组项中过滤留下子集。
lowercase   小写
orderBy     通过表达式将数组排序
uppercase   大写

如:

<p>The name is {{ lastName | uppercase }}</p>

当然多个函数封装可以使用 |

<p>The name is {{ lastName | uppercase | lowercase }}</p>
//排序函数的使用
<ul>
 <li ng-repeat="x in names | orderBy:'country'">
  {{ x.name + ', ' + x.country }}
 </li>
</ul>
//通过输入内容自动过滤显示结果
<div ng-app="" ng-controller="namesCtrl">
  <p><input type="text" ng-model="test"></p>
  <ul>
   <li ng-repeat="x in names | filter:test | orderBy:'country'">
    {{ (x.name | uppercase) + ', ' + x.country }}
   </li>
  </ul>
</div>

names | filter:test | orderBy:'country'
就是将names数组中的项 按照 test表单值进行 筛选
然后以 names中的子元素 country 进行排序

自定义过滤器:

<!DOCTYPE html>
<html ng-app="HelloApp">
<head>
<title></title>
</head>
<body ng-controller="HelloCtrl">
 <form>
   <input type="text" ng-model="name"/>
 </form>
 <div>{{name|titlecase}}</div>
 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
 <script type="text/javascript">
  // 编写过滤器模块
  angular.module('CustomFilterModule', [])
      .filter( 'titlecase', function() {
    return function( input ) {
      return input.replace(/\w\S*/g, function(txt){return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();});
  }
  });
  // 实际展示模块
  // 引入依赖的过滤器模块 CustomFilterModule
  angular.module('HelloApp', [ 'CustomFilterModule'])
    .controller('HelloCtrl', ['$scope', function($scope){
    $scope.name = '';
  }])
</script>
</body>
</html>

希望本文所述对大家AngularJS程序设计有所帮助。

Javascript 相关文章推荐
原生Js实现按的数据源均分时间点幻灯片效果(已封装)
Dec 28 Javascript
JavaScript中为元素加上name属性的方法
May 09 Javascript
jquery数组之存放checkbox全选值示例代码
Dec 20 Javascript
js实现按Ctrl+Enter发送效果
Sep 18 Javascript
对Web开发中前端框架与前端类库的一些思考
Mar 27 Javascript
javascript产生随机数方法汇总
Jan 25 Javascript
新手学习前端之js模仿淘宝主页网站
Oct 31 Javascript
BootStrap select2 动态改变值的方法
Feb 10 Javascript
Redux 和 Mobx的选择问题:让你不再困惑!
Sep 18 Javascript
Elasticsearch实现复合查询高亮结果功能
Sep 10 Javascript
JQuery使用数组遍历跳出each循环
Sep 01 jQuery
typescript编写微信小程序创建项目的方法
Jan 29 Javascript
jQuery中$.grep() 过滤函数 数组过滤
Nov 22 #Javascript
JavaScript实现图片轮播组件代码示例
Nov 22 #Javascript
浅析JavaScriptSerializer类的序列化与反序列化
Nov 22 #Javascript
JS如何设置iOS中微信浏览器的title
Nov 22 #Javascript
原生JS查找元素的方法(推荐)
Nov 22 #Javascript
自己封装的一个原生JS拖动方法(推荐)
Nov 22 #Javascript
SelecT下拉框选中和取值的解决方法
Nov 22 #Javascript
You might like
11个PHP 分页脚本推荐
2011/08/15 PHP
PHPMailer使用教程(PHPMailer发送邮件实例分析)
2012/12/06 PHP
ThinkPHP文件缓存类代码分享
2015/04/22 PHP
PHP代码实现爬虫记录――超管用
2015/07/31 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
拖动一个HTML元素
2006/12/22 Javascript
Javascript 模式实例 观察者模式
2009/10/24 Javascript
Javascript堆排序算法详解
2014/12/03 Javascript
jQuery中nextAll()方法用法实例
2015/01/07 Javascript
jquery实现从数组移除指定的值
2015/06/24 Javascript
jQuery实现移动端滑块拖动选择数字效果
2015/12/24 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
2016/05/10 Javascript
详解javascript获取url信息的常见方法
2016/12/19 Javascript
带你了解session和cookie作用原理区别和用法
2017/08/14 Javascript
angular2中Http请求原理与用法详解
2018/01/11 Javascript
webpack本地开发环境无法用IP访问的解决方法
2018/03/20 Javascript
ElementUI中el-tree节点的操作的实现
2020/02/27 Javascript
js实现缓动动画
2020/11/25 Javascript
[02:20]DOTA2英雄基础教程 黑暗贤者
2013/12/19 DOTA
[03:23:49]2016.12.17日完美“圣”典全回顾
2016/12/19 DOTA
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
简析Python的闭包和装饰器
2016/02/26 Python
Python实现模拟分割大文件及多线程处理的方法
2017/10/10 Python
基于python监控程序是否关闭
2020/01/14 Python
python向xls写入数据(包括合并,边框,对齐,列宽)
2021/02/02 Python
HTML5实现移动端点击翻牌功能
2020/10/23 HTML / CSS
PREMIUM-MALL法国:行李、箱包及配件在线
2019/05/30 全球购物
英国行业制服供应商:Alexandra
2019/09/14 全球购物
用C#语言写出与SQLSERVER访问时的具体过程
2013/04/16 面试题
高校生生产实习自我鉴定
2013/09/21 职场文书
财务会计专业应届毕业生求职信
2013/10/18 职场文书
药学专业大专生的自我评价
2013/12/12 职场文书
本科生的职业生涯规划范文
2014/01/09 职场文书
计算机网络及管理学专业求职信
2014/06/05 职场文书
房屋质量投诉书
2015/07/02 职场文书
导游词之襄阳古城
2019/09/27 职场文书