本文執行個體講述了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屬性裡
使用{{變數名}}
如:
(3) 當然第三種就是上面的 在js中使用
加上對象名 $scope.
(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程式設計有所協助。