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 相关文章推荐
个人总结的一些关于String、Function、Array的属性和用法
Jan 10 Javascript
JS鼠标事件大全 推荐收藏
Nov 01 Javascript
JS+CSS实现六级网站导航主菜单效果
Sep 28 Javascript
第一次接触神奇的Bootstrap基础排版
Jul 26 Javascript
总结Node.js中的一些错误类型
Aug 15 Javascript
详解基于webpack和vue.js搭建开发环境
Apr 05 Javascript
ng-repeat指令在迭代对象时的去重方法
Oct 02 Javascript
vue2.0 如何在hash模式下实现微信分享
Jan 22 Javascript
在微信小程序中使用图表的方法示例
Apr 25 Javascript
详解小程序毫秒级倒计时(适用于拼团秒杀功能)
May 05 Javascript
js变量值传到php过程详解 将php解析成数据
Jun 26 Javascript
node后端服务保活的实现
Nov 10 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
PHP实现获取中英文首字母
2015/06/19 PHP
php mailer类调用远程SMTP服务器发送邮件实现方法
2016/03/04 PHP
php将print_r处理后的数据还原为原始数组的解决方法
2016/11/02 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
PHP扩展类型及安装方式解析
2020/04/27 PHP
给页面渲染时间加速 干掉Dom Level 0 Event
2012/12/19 Javascript
JS 实现点击a标签的时候让其背景更换
2013/10/15 Javascript
JS关键字球状旋转效果的实例代码
2013/11/29 Javascript
js 动态修改css文件的方法
2014/08/05 Javascript
JS实现很实用的对联广告代码(可自适应高度)
2015/09/18 Javascript
JavaScript实现复制内容到粘贴板代码
2016/03/31 Javascript
Angular 4.x 动态创建表单实例
2017/04/25 Javascript
详解Angular的8个主要构造块
2017/06/20 Javascript
详解vue中移动端自适应方案
2019/05/05 Javascript
js JSON.stringify()基础详解
2019/06/19 Javascript
Vue.js原理分析之nextTick实现详解
2020/09/07 Javascript
[47:22]Mineski vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python判断字符串是否包含子字符串的方法
2015/03/24 Python
python实现从ftp服务器下载文件的方法
2015/04/30 Python
python使用xpath中遇到:到底是什么?
2018/01/04 Python
python使用Matplotlib画饼图
2018/09/25 Python
使用python实现ftp的文件读写方法
2019/07/02 Python
利用django model save方法对未更改的字段依然进行了保存
2020/03/28 Python
购买限量版收藏品、珠宝和礼品:Bradford Exchange
2016/09/23 全球购物
DBA数据库管理员JAVA程序员架构师必看
2016/02/07 面试题
星级党支部申报材料
2014/05/31 职场文书
思想作风建设心得体会
2014/10/22 职场文书
2014年绿化工作总结
2014/12/09 职场文书
2014年审计人员工作总结
2014/12/19 职场文书
2015年基层党组织公开承诺书
2015/01/21 职场文书
七年级上册语文教学计划
2015/01/22 职场文书
节约用电倡议书
2015/04/28 职场文书
捐书仪式主持词
2015/07/04 职场文书
2016年春季运动会广播稿
2015/08/19 职场文书
JS的深浅复制详细
2021/10/16 Javascript
python编程实现清理微信重复缓存文件
2021/11/01 Python