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 相关文章推荐
一个可绑定数据源的jQuery数据表格插件
Jul 17 Javascript
JavaScript中把数字转换为字符串的程序代码
Jun 19 Javascript
JS实现漂亮的淡蓝色滑动门效果代码
Sep 23 Javascript
详解JavaScript实现设计模式中的适配器模式的方法
May 18 Javascript
微信小程序 页面传参实例详解
Nov 16 Javascript
node中使用es5/6以及支持性与性能对比
Aug 11 Javascript
VUE基于NUXT的SSR 服务端渲染
Nov 30 Javascript
JavaScript中的一些实用小技巧总结
Apr 07 Javascript
JavaScript实现多张图片放大镜效果示例【不限定图片尺寸,rem单位】
May 14 Javascript
了解JavaScript函数中的默认参数
May 30 Javascript
快速对接payjq的个人微信支付接口过程解析
Aug 15 Javascript
JavaScript canvas绘制圆弧与圆形
Feb 18 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代码包装修正版
2008/03/15 PHP
php 什么是PEAR?(第二篇)
2009/03/19 PHP
php实现四舍五入的方法小结
2015/03/03 PHP
Laravel 5框架学习之Eloquent 关系
2015/04/09 PHP
PHP全功能无变形图片裁剪操作类与用法示例
2017/01/10 PHP
PHP验证终端类型是否为手机的简单实例
2017/02/07 PHP
php array_map()函数实例用法
2021/03/03 PHP
js资料prototype 属性
2007/03/13 Javascript
仅IE支持clearAttributes/mergeAttributes方法使用介绍
2012/05/04 Javascript
Lab.js初次使用笔记
2015/02/28 Javascript
jquery.validate使用时遇到的问题
2015/05/25 Javascript
JavaScript中的return语句简单介绍
2015/12/07 Javascript
jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)
2016/02/25 Javascript
详解vuejs之v-for列表渲染
2017/06/22 Javascript
Web开发使用Angular实现用户密码强度判别的方法
2017/09/27 Javascript
VUE组件中的 Drawer 抽屉实现代码
2019/08/06 Javascript
[02:36]DOTA2英雄基础教程 斯拉克
2013/11/29 DOTA
[09:43]DOTA2每周TOP10 精彩击杀集锦vol.5
2014/06/25 DOTA
Django中模型Model添加JSON类型字段的方法
2015/06/17 Python
Python实现的多线程同步与互斥锁功能示例
2017/11/30 Python
wxpython实现图书管理系统
2018/03/12 Python
python双端队列原理、实现与使用方法分析
2019/11/27 Python
numpy.ndarray 实现对特定行或列取值
2019/12/05 Python
利用setuptools打包python程序的方法步骤
2020/01/18 Python
python 负数取模运算实例
2020/06/03 Python
基于python调用jenkins-cli实现快速发布
2020/08/14 Python
python 多进程和协程配合使用写入数据
2020/10/30 Python
Pyside2中嵌入Matplotlib的绘图的实现
2021/02/22 Python
阿联酋彩妆品牌:OUD MILANO
2019/10/06 全球购物
J2EE面试题
2016/03/14 面试题
小学新教师培训方案
2014/02/03 职场文书
食品安全处置方案
2014/06/14 职场文书
交警作风整顿剖析材料
2014/10/11 职场文书
幼儿园个人总结
2015/02/28 职场文书
科技馆观后感
2015/06/08 职场文书
Python echarts实现数据可视化实例详解
2022/03/03 Python