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 相关文章推荐
mysql输出数据赋给js变量报unterminated string literal错误原因
May 22 Javascript
js 处理URL实用技巧
Nov 23 Javascript
分享20多个很棒的jQuery 文件上传插件或教程
Sep 04 Javascript
js正则匹配出所有图片及图片地址src的方法
Jun 08 Javascript
Angular发布1.5正式版,专注于向Angular 2的过渡
Feb 18 Javascript
探讨AngularJs中ui.route的简单应用
Nov 16 Javascript
jquery ajaxfileupload异步上传插件使用详解
Feb 08 Javascript
vue增删改查的简单操作
Jul 15 Javascript
JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码
Sep 07 Javascript
JS验证输入的是否是数字及保留几位小数问题
May 09 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
Aug 24 Javascript
vue项目实现分页效果
Mar 24 Vue.js
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和Shell写Hadoop的MapReduce程序
2014/04/15 PHP
PHP调试的强悍利器之PHPDBG
2016/02/22 PHP
ThinkPHP 框架实现的读取excel导入数据库操作示例
2020/04/14 PHP
Prototype使用指南之enumerable.js
2007/01/10 Javascript
Jquery ajaxStart()与ajaxStop()方法(实例讲解)
2013/12/18 Javascript
javascript跨浏览器的属性判断方法
2014/03/16 Javascript
Javascript实现多彩雪花从天降散落效果的方法
2015/02/02 Javascript
在Node.js中使用Javascript Generators详解
2016/05/05 Javascript
Nodejs从有门道无门菜鸟起飞必看教程
2016/07/20 NodeJs
jQuery新窗口打开外链接
2016/07/21 Javascript
Webpack实现按需打包Lodash的几种方法详解
2017/05/08 Javascript
防止页面url缓存中ajax中post请求的处理方法
2017/10/10 Javascript
详解vue+css3做交互特效的方法
2017/11/20 Javascript
探索Vue高阶组件的使用
2018/01/08 Javascript
Vue+Node实现的商城用户管理功能示例
2019/12/23 Javascript
在react中使用vue的状态管理的方法示例
2020/05/02 Javascript
python实现将汉字转换成汉语拼音的库
2015/05/05 Python
解析Python中while true的使用
2015/10/13 Python
200 行python 代码实现 2048 游戏
2018/01/12 Python
python生成器,可迭代对象,迭代器区别和联系
2018/02/04 Python
对numpy中数组元素的统一赋值实例
2018/04/04 Python
Python requests模块实例用法
2019/02/11 Python
python中报错&quot;json.decoder.JSONDecodeError: Expecting value:&quot;的解决
2019/04/29 Python
Pytorch中膨胀卷积的用法详解
2020/01/07 Python
使用opencv识别图像红色区域,并输出红色区域中心点坐标
2020/06/02 Python
python3爬虫中引用Queue的实例讲解
2020/11/24 Python
Python Pygame实现俄罗斯方块
2021/02/19 Python
Html5上传图片 移动端、PC端通用代码
2016/06/08 HTML / CSS
HTML5 离线应用之打造零请求、无流量网站的解决方法
2013/04/25 HTML / CSS
销售人员中英文自荐信
2013/09/22 职场文书
团日活动总结模板
2014/06/25 职场文书
租房安全协议书
2014/08/20 职场文书
综合素质评价思想道德自我评价
2015/03/09 职场文书
解决Mysql的left join无效及使用的注意事项说明
2021/07/01 MySQL
浅谈redis的过期时间设置和过期删除机制
2022/03/18 MySQL
Android使用EventBus发送消息,Fragment中接收消息的方法会执行多次
2022/04/24 Java/Android