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 相关文章推荐
实用javaScript技术-屏蔽类
Aug 15 Javascript
Javascript中的Split使用方法与技巧
Mar 09 Javascript
javascript动画效果类封装代码
Aug 28 Javascript
js 异步处理进度条
Apr 01 Javascript
jQuery EasyUI API 中文文档 - ComboTree组合树
Oct 11 Javascript
解决jQuery动态获取手机屏幕高和宽的问题
May 07 Javascript
JS实现跟随鼠标闪烁转动色块的方法
Feb 26 Javascript
js+HTML5实现canvas多种颜色渐变效果的方法
Jun 05 Javascript
RequireJS入门一之实现第一个例子
Sep 30 Javascript
动态加载js、css的简单实现代码
May 26 Javascript
Vue框架之goods组件开发详解
Jan 25 Javascript
基于rollup的组件库打包体积优化小结
Jun 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书写安全的脚本代码
2012/02/05 PHP
Laravel 4 初级教程之视图、命名空间、路由
2014/10/30 PHP
php实现映射操作实例详解
2019/10/02 PHP
屏蔽F1~F12的快捷键的js函数
2010/05/06 Javascript
jQuery客户端分页实例代码
2013/11/18 Javascript
JS 去除Array中的null值示例代码
2013/11/20 Javascript
jquery 插件实现瀑布流图片展示实例
2015/04/03 Javascript
Angularjs 制作购物车功能实例代码
2016/09/14 Javascript
利用VUE框架,实现列表分页功能示例代码
2017/01/12 Javascript
使用AngularJS 跨站请求如何解决jsonp请求问题
2017/01/16 Javascript
bootstrapValidator.min.js表单验证插件
2017/02/09 Javascript
webpack中使用iconfont字体图标的方法
2018/02/22 Javascript
vue中各选项及钩子函数执行顺序详解
2018/08/25 Javascript
Nuxt升级2.0.0时出现的问题(小结)
2018/10/08 Javascript
微信小程序自定义toast的实现代码
2018/11/16 Javascript
解决微信授权成功后点击按返回键出现空白页和报错的问题
2020/06/08 Javascript
[04:28]DOTA2亚洲邀请赛小组赛第五日 TOP10精彩集锦
2015/02/03 DOTA
基于numpy中数组元素的切片复制方法
2018/11/15 Python
python操作kafka实践的示例代码
2019/06/19 Python
Python处理时间日期坐标轴过程详解
2019/06/25 Python
Python 模拟生成动态产生验证码图片的方法
2020/02/01 Python
CSS3 简写animation
2012/05/10 HTML / CSS
购买澳大利亚最好的服装和内衣在线:BONDS
2016/10/14 全球购物
最便宜促销价格订机票:Airpaz(总部设在印尼,支持中文)
2018/11/13 全球购物
什么是方法的重载
2013/06/24 面试题
物流专业大学生求职信范文
2013/10/28 职场文书
毕业生就业自荐信
2013/12/04 职场文书
买卖车协议书
2014/04/21 职场文书
中学生励志演讲稿
2014/04/26 职场文书
自主招生教师推荐信
2014/05/10 职场文书
个人违纪检讨书
2014/09/15 职场文书
2015年库房工作总结
2015/04/30 职场文书
创业计划书之外语培训班
2019/11/02 职场文书
MySQL的Query Cache图文详解
2021/07/01 MySQL
光之国的四大叛徒:第一贝利亚导致宇宙毁灭,赛文奥特曼在榜
2022/03/18 日漫
python中 .npy文件的读写操作实例
2022/04/14 Python