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 相关文章推荐
ext实现完整的登录代码
Aug 08 Javascript
jQuery操作 input type=checkbox的实现代码
Jun 14 Javascript
javascript 全选与全取消功能的实现代码
Dec 23 Javascript
Extjs4 类的定义和扩展实例
Jun 28 Javascript
浅析JS中document对象的一些重要属性
Mar 06 Javascript
JavaScript设计模式经典之命令模式
Feb 24 Javascript
CodeMirror js代码加亮使用总结
Mar 25 Javascript
Angular4绑定html内容出现警告的处理方法
Nov 03 Javascript
JS点击动态添加标签、删除指定标签的代码
Apr 18 Javascript
js+html实现周岁年龄计算器
Jun 25 Javascript
vue+element树组件 实现树懒加载的过程详解
Oct 21 Javascript
vue总线机制(bus)知识点详解
May 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的session cookie错误
2009/08/09 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
2014/07/15 PHP
php_pdo 预处理语句详解
2016/11/21 PHP
用 Javascript 验证表单(form)中的单选(radio)值
2009/09/08 Javascript
jquery中:input和input的区别分析
2011/07/13 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
2013/12/31 Javascript
用box固定长宽实现图片自动轮播js代码
2014/06/09 Javascript
jQuery中after()方法用法实例
2014/12/25 Javascript
javascript实现动态加载CSS
2015/01/26 Javascript
Bootstrap布局组件教程之Bootstrap下拉菜单
2016/06/12 Javascript
JavaScript探测CSS动画是否已经完成的方法
2016/08/30 Javascript
javascript数组对象常用api函数小结(连接,插入,删除,反转,排序等)
2016/09/20 Javascript
Servlet实现文件上传,可多文件上传示例
2016/12/05 Javascript
BootStrap学习笔记之nav导航栏和面包屑导航
2017/01/03 Javascript
浅析jsopn跨域请求原理及cors(跨域资源共享)的完美解决方法
2017/02/06 Javascript
基于jQuery实现定位导航位置效果
2017/11/15 jQuery
Vue父子组件双向绑定传值的实现方法
2018/07/31 Javascript
WebGL three.js学习笔记之阴影与实现物体的动画效果
2019/04/25 Javascript
vue中使用带隐藏文本信息的图片、图片水印的方法
2020/04/24 Javascript
[44:50]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 TNC vs VG
2018/04/02 DOTA
跟老齐学Python之传说中的函数编写条规
2014/10/11 Python
修改Python的pyxmpp2中的主循环使其提高性能
2015/04/24 Python
Python第三方库的安装方法总结
2016/06/06 Python
Python2中文处理纪要的实现方法
2018/03/10 Python
Python中文分词库jieba,pkusegwg性能准确度比较
2020/02/11 Python
Python 防止死锁的方法
2020/07/29 Python
手把手教你如何用Pycharm2020.1.1配置远程连接的详细步骤
2020/08/07 Python
python PIL模块的基本使用
2020/09/29 Python
程序设计HTML5 Canvas API
2013/04/08 HTML / CSS
HEMA法国:荷兰原创设计
2019/02/21 全球购物
ManoMano英国:欧洲第一家专注于DIY和园艺市场的电商平台
2020/03/12 全球购物
班长自荐书范文
2014/02/11 职场文书
毕业生就业推荐表自我评价
2015/03/02 职场文书
高三数学教学反思
2016/02/18 职场文书
2016年学校禁毒宣传活动工作总结
2016/04/05 职场文书