AngularJS变量及过滤器Filter用法分析
程序员文章站
2023-11-16 13:52:46
本文实例讲述了angularjs变量及过滤器filter用法。分享给大家供大家参考,具体如下:
1. 关于部分变量的操作
设置变量:
ng-init="hou...
本文实例讲述了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程序设计有所帮助。