AngularJS變量及過(guò)濾器Filter用法分析
本文實(shí)例講述了AngularJS變量及過(guò)濾器Filter用法。分享給大家供大家參考,具體如下:
1. 關(guān)于部分變量的操作
設(shè)置變量:
ng-init="hour=14" //設(shè)置hour變量在DOM中 使用data-ng-init 更好些 $scope.hour = 14; //設(shè)置hour變量在js中
使用變量:
(1) 如果是在DOM 相關(guān)的 ng-*** 屬性里 直接寫(xiě)變量名
如:
<p ng-show="hour > 13">I am visible.</p>
(2) 如果是在控制器HTML 中但是不在 ng屬性里
使用{{變量名}}
如:
{{hour}}
(3) 當(dāng)然第三種就是上面的 在js中使用
加上對(duì)象名 $scope.
$scope.hour
(4) 在表單控件中 ng-model中的變量 可以直接
同時(shí)在 html 中 使用 {{變量名}}
<p>Name: <input type="text" ng-model="name"></p>
<p>You wrote: {{ name }}</p>
還可以通過(guò) ng-bind 屬性進(jìn)行變量綁定
<p>Name: <input type="text" ng-model="name"></p> <p ng-bind="name"></p>
(5) 可以直接在ng的屬性 或變量中使用表達(dá)式
會(huì)自動(dòng)幫你計(jì)算 需要符合js語(yǔ)法
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中的變量循環(huán)
<div ng-app="" ng-init="names=['Jani','Hege','Kai']">
<ul>
<li ng-repeat="x in names">
{{ x }}
</li>
</ul>
</div>
3.變量的過(guò)濾 filter
Filter Description
currency 以金融格式格式化數(shù)字
filter 選擇從一個(gè)數(shù)組項(xiàng)中過(guò)濾留下子集。
lowercase 小寫(xiě)
orderBy 通過(guò)表達(dá)式將數(shù)組排序
uppercase 大寫(xiě)
如:
<p>The name is {{ lastName | uppercase }}</p>
當(dāng)然多個(gè)函數(shù)封裝可以使用 |
<p>The name is {{ lastName | uppercase | lowercase }}</p>
//排序函數(shù)的使用
<ul>
<li ng-repeat="x in names | orderBy:'country'">
{{ x.name + ', ' + x.country }}
</li>
</ul>
//通過(guò)輸入內(nèi)容自動(dòng)過(guò)濾顯示結(jié)果
<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數(shù)組中的項(xiàng) 按照 test表單值進(jìn)行 篩選
然后以 names中的子元素 country 進(jìn)行排序
自定義過(guò)濾器:
<!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">
// 編寫(xiě)過(guò)濾器模塊
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();});
}
});
// 實(shí)際展示模塊
// 引入依賴的過(guò)濾器模塊 CustomFilterModule
angular.module('HelloApp', [ 'CustomFilterModule'])
.controller('HelloCtrl', ['$scope', function($scope){
$scope.name = '';
}])
</script>
</body>
</html>
希望本文所述對(duì)大家AngularJS程序設(shè)計(jì)有所幫助。
相關(guān)文章
在AngularJS框架中處理數(shù)據(jù)建模的方式解析
這篇文章主要介紹了在AngularJS框架中處理數(shù)據(jù)建模的方式,作者同時(shí)也對(duì)AngularJS使用過(guò)程中的一些"坑"作了介紹,需要的朋友可以參考下2016-03-03
angular 實(shí)現(xiàn)下拉列表組件的示例代碼
這篇文章主要介紹了angular 實(shí)現(xiàn)下拉列表組件的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
angularJS利用ng-repeat遍歷二維數(shù)組的實(shí)例代碼
本篇文章主要介紹了angularJS利用ng-repeat遍歷二維數(shù)組的實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
Angular7中創(chuàng)建組件/自定義指令/管道的方法實(shí)例詳解
這篇文章主要介紹了在angular7中創(chuàng)建組件/自定義指令/管道的相關(guān)知識(shí),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-04-04
詳解Angular組件數(shù)據(jù)不能實(shí)時(shí)更新到視圖上的問(wèn)題
這篇文章主要為大家介紹了Angular組件數(shù)據(jù)不能實(shí)時(shí)更新到視圖上的問(wèn)題詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
使用typescript開(kāi)發(fā)angular模塊并發(fā)布npm包
本篇文章主要介紹了使用typescript開(kāi)發(fā)angular模塊并發(fā)布npm包,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04
Angular 根據(jù) service 的狀態(tài)更新 directive
Angular JS (Angular.JS) 是一組用來(lái)開(kāi)發(fā)Web頁(yè)面的框架、模板以及數(shù)據(jù)綁定和豐富UI組件。本文給大家介紹Angular 根據(jù) service 的狀態(tài)更新 directive,需要的朋友一起學(xué)習(xí)吧2016-04-04
AngularJS的ng-repeat指令與scope繼承關(guān)系實(shí)例詳解
這篇文章主要介紹了AngularJS的ng-repeat指令與scope繼承關(guān)系,結(jié)合實(shí)例形式通過(guò)ng-repeat指令詳細(xì)分析了scope繼承關(guān)系,需要的朋友可以參考下2017-01-01

