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和jquery使按钮失效为不可用状态的方法
Jan 26 Javascript
js实现星星打分效果的方法
Jul 05 Javascript
基于JavaScript短信验证码如何实现
Jan 24 Javascript
jquery实现的判断倒计时是否结束代码
Feb 05 Javascript
原生JS实现-星级评分系统的简单实例
Aug 21 Javascript
Javascript 判断两个IP是否在同一网段实例代码
Nov 28 Javascript
Vue系列:通过vue-router如何传递参数示例
Jan 16 Javascript
canvas实现粒子时钟效果
Feb 06 Javascript
JS 实现随机验证码功能
Feb 15 Javascript
Angularjs 实现移动端在线测评效果(推荐)
Apr 05 Javascript
JavaScript基础之this详解
Jun 04 Javascript
微信小程序换肤功能实现代码(思路详解)
Aug 25 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 读取Postgresql中的数组
2013/04/14 PHP
使用php 获取时间今天明天昨天时间戳的详解
2013/06/20 PHP
PHP实现文件上传与下载实例与总结
2016/03/13 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
2017/09/28 PHP
php格式文件打开的四种方法
2018/02/24 PHP
PHP基于mcript扩展实现对称加密功能示例
2019/02/21 PHP
javascript new fun的执行过程
2010/08/05 Javascript
JQuery 图片的展开和伸缩实例讲解
2013/04/18 Javascript
js函数返回多个返回值的示例代码
2013/11/05 Javascript
jquery实现tr元素的上下移动示例代码
2013/12/20 Javascript
禁用Tab键JS代码兼容Firefox和IE
2014/04/18 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
2015/03/18 Javascript
关于获取DIV内部内容报错的原因分析及解决办法
2016/01/29 Javascript
Node.js实现数据推送
2016/04/14 Javascript
jQuery实现的无缝广告图片左右滚动功能详解
2016/12/24 Javascript
让webpack+vue-cil项目不再自动打开浏览器的方法
2018/09/27 Javascript
小程序实现新用户判断并跳转激活的方法
2019/05/20 Javascript
Threejs实现滴滴官网首页地球动画功能
2020/07/13 Javascript
[01:17]Ti4 循环赛第一日回顾
2014/07/11 DOTA
python中bisect模块用法实例
2014/09/25 Python
python实现计算资源图标crc值的方法
2014/10/05 Python
Python实现字符串格式化输出的方法详解
2017/09/20 Python
python实现将汉字保存成文本的方法
2018/11/16 Python
详解python中@的用法
2019/03/27 Python
django获取from表单multiple-select的value和id的方法
2019/07/19 Python
Django打印出在数据库中执行的语句问题
2019/07/25 Python
基于python3监控服务器状态进行邮件报警
2019/10/19 Python
阿迪达斯俄罗斯官方商城:adidas俄罗斯
2017/03/08 全球购物
有原因的手表:Flex Watches
2019/03/23 全球购物
Timberland俄罗斯官方网上商店:全球领先的户外品牌
2020/03/15 全球购物
物业经理求职自我评价
2013/09/22 职场文书
先进集体事迹材料
2014/02/17 职场文书
社区健康教育工作方案
2014/06/03 职场文书
师范生求职自荐信
2014/06/14 职场文书
教师个人年度总结
2015/02/11 职场文书
2015年小学总务工作总结
2015/07/21 职场文书