※lowercase、uppercase、currency、orderBy
<html> <script type="text/javascript" src="angular.js"></script> <body ng-app='xxx'> <div ng-controller='ooo'> <input ng-model='p3'><br /> lowercase: <p>{{p3 | lowercase}}</p> ------------------------------ <br /> uppercase: <p>{{p4 | uppercase}}</p> ------------------------------ <br /> currency: <p>{{p1 * 2 | currency}}</p> ------------------------------ <br /> orderBy: <p ng-repeat='x in p6 | orderBy:"pp1"'> {{x.pp1 + '=' + x.pp2}} <br /> {{x.pp1 | uppercase}} = {{x.pp2 | currency}} <br /> {{(x.pp1 | uppercase) + '=' + (x.pp2 | currency)}} </p> ------------------------------ <br /> filter: <p ng-repeat='x in p6 | filter:"B" | orderBy:"pp1"'> {{x.pp1 + '=' + x.pp2}} <br /> {{x.pp1 | uppercase}} = {{x.pp2 | currency}} <br /> {{(x.pp1 | uppercase) + '=' + (x.pp2 | currency)}} </p> ------------------------------ <br /> 自定排序:<br /> <table border="1"> <th ng-dblclick="orderByXX('pp1')">Fruit</th> <th ng-dblclick="orderByXX('pp2')">Price</th> <tr ng-repeat="x in p6 | orderBy:orderBySelf"> <td>{{x.pp1}}</td> <td>{{x.pp2}}</td> </tr> </table> ------------------------------ <br /> 自定過濾:<br /> <ul> <li ng-repeat="x in p6"> {{x | filterSelf}} </li> </ul> </div> </body> </html> <script> var app = angular.module('xxx', []); app.controller('ooo', ($scope) => { $scope.p1 = 123456789; $scope.p2 = 'ddD'; $scope.p3 = 'Bbb'; $scope.p4 = 'aAA'; $scope.p5 = () => { return $scope.p1 + $scope.p4; }; $scope.p6 = [ {pp1:'strawberry', pp2:'90'}, {pp1:'apple', pp2:'67'}, {pp1:'banana', pp2:'23'}, {pp1:'blueberry', pp2:'90'}, {pp1:'pineapple', pp2:'50'} ]; $scope.orderByXX = function(x) { $scope.orderBySelf = x; } }); app.filter('filterSelf', () => { return (x) => { return x.pp1.toUpperCase(); }; }); </script>
※orderBy可用倒序,只要在最後面加上「:"reverse"」,如:
<p ng-repeat='x in p6 | orderBy:"pp1":"reverse"'>
※filter:'b',裡面的字是不分大小寫的
※自定排序配合事件,以上例是在 th 標籤快按滑鼠左鍵兩下可排序
※結果:
lowercase:
bbb
------------------------------uppercase:
AAA
------------------------------currency:
$246,913,578.00
------------------------------orderBy:
apple=67
APPLE = $67.00
APPLE=$67.00
APPLE = $67.00
APPLE=$67.00
banana=23
BANANA = $23.00
BANANA=$23.00
BANANA = $23.00
BANANA=$23.00
blueberry=90
BLUEBERRY = $90.00
BLUEBERRY=$90.00
BLUEBERRY = $90.00
BLUEBERRY=$90.00
pineapple=50
PINEAPPLE = $50.00
PINEAPPLE=$50.00
PINEAPPLE = $50.00
PINEAPPLE=$50.00
strawberry=90
STRAWBERRY = $90.00
STRAWBERRY=$90.00
------------------------------STRAWBERRY = $90.00
STRAWBERRY=$90.00
filter:
banana=23
BANANA = $23.00
BANANA=$23.00
BANANA = $23.00
BANANA=$23.00
blueberry=90
BLUEBERRY = $90.00
BLUEBERRY=$90.00
BLUEBERRY = $90.00
BLUEBERRY=$90.00
strawberry=90
STRAWBERRY = $90.00
STRAWBERRY=$90.00
------------------------------STRAWBERRY = $90.00
STRAWBERRY=$90.00
自定排序:
Fruit | Price |
---|---|
strawberry | 90 |
apple | 67 |
banana | 23 |
blueberry | 90 |
pineapple | 50 |
自定過濾:
- STRAWBERRY
- APPLE
- BANANA
- BLUEBERRY
- PINEAPPLE
※date、number、json
<html> <script type="text/javascript" src="angular.js"></script> <body ng-app='xxx'> <div ng-controller='ooo'> <input ng-model='p1'><br /> date: <p>{{p1 | date}}</p> ------------------------------ <br /> number: <p>{{p2 | number}}</p> <p>{{p2 | number:0}}</p> <p>{{p2 | number:2}}</p> <p>{{p2 | number:-1}}</p> ------------------------------ <br /> json: <p>{{ p3 | json }}</p> <pre>{{ p3 | json }}</pre> <pre>{{ p3 | json:4 }}</pre> </div> </body> </html> <script> var app = angular.module('xxx', []); app.controller('ooo', ($scope) => { $scope.p1 = '2000-10-01'; $scope.p2 = 1234.5678; $scope.p3 = [ {pp1:'strawberry', pp2:'90'}, {pp1:'apple', pp2:'67'}, {pp1:'banana', pp2:'23'} ]; $scope.p4 = {'a1':5, 'a2':10, 'a3':500}; }); </script>
※json:4,這個數字是排版的空格有幾個的意思,但只有 pre 標籤有用
※date格式太多了,請參考上面的官網API連結
※結果:
date:
Oct 1, 2000
------------------------------number:
1,234.568
1,235
1,234.57
1,230
------------------------------json:
[ { "pp1": "strawberry", "pp2": "90" }, { "pp1": "apple", "pp2": "67" }, { "pp1": "banana", "pp2": "23" } ]
[ { "pp1": "strawberry", "pp2": "90" }, { "pp1": "apple", "pp2": "67" }, { "pp1": "banana", "pp2": "23" } ]
[ { "pp1": "strawberry", "pp2": "90" }, { "pp1": "apple", "pp2": "67" }, { "pp1": "banana", "pp2": "23" } ]
※limitTo
<html> <script type="text/javascript" src="angular.js"></script> <body ng-app='xxx'> <div ng-controller='ooo'> <p>{{ numArr | limitTo:4 }}</p> <p>{{ str | limitTo:7}}</p> <p>{{ num | limitTo:3}}</p> ------------------------------ <p>{{ numArr | limitTo:-1 }}</p> <p>{{ str | limitTo:-1}}</p> <p>{{ num | limitTo:-1}}</p> </div> </body> </html> <script> var app = angular.module('xxx', []); app.controller('ooo', ($scope) => { $scope.numArr = [1,2,3,4,5,6,7,8,9]; $scope.str = "abcdefghi"; $scope.num = 9876543210; }); </script>
※不管是陣列、字串、數字都有效;負的從後面開始取
※結果:
[1,2,3,4]
abcdefg
987
------------------------------
[9]
i
0
沒有留言:
張貼留言