Özel tür ng-tekrar fonksiyonu
Belirli sayıda kullanıcı tarafından seçilen bağlı olarak görüntüleyen bir çini var. Şimdi gösterilen her ne ise bir tür uygulamak istiyorum.
Aşağıdaki kodu uygulamaya çalıştım (nasıl gettting/ana kart kapsamında bir değeri ayarlayarak) gösterir. OrderBy işlev bir dize alır, çünkü şimdi, bu kartı curOptionValue denilen kapsamında bir değişkeni ayarlamak ve buna göre sıralamak için denedim, ama işe yaramıyor.
Yani asıl soru, ne kadar özel bir tür oluşturmak için işlev?
<div ng-controller="aggViewport" >
<div class="btn-group" >
<button ng-click="setOption(opt.name)" ng-repeat="opt in optList" class="btn active">{{opt.name}}</button>
</div>
<div id="container" iso-grid width="500px" height="500px">
<div ng-repeat="card in cards" class="item {{card.class}}" ng-controller="aggCardController">
<table width="100%">
<tr>
<td align="center">
<h4>{{card.name}}</h4>
</td>
</tr>
<tr>
<td align="center"><h2>{{getOption()}}</h2></td>
</tr>
</table>
</div>
</div>
denetleyici :
module.controller('aggViewport',['$scope','$location',function($scope,$location) {
$scope.cards = [
{name: card1, values: {opt1: 9, opt2: 10}},
{name: card1, values: {opt1: 9, opt2: 10}}
];
$scope.option = "opt1";
$scope.setOption = function(val){
$scope.option = val;
}
}]);
module.controller('aggCardController',['$scope',function($scope){
$scope.getOption = function(){
return $scope.card.values[$scope.option];
}
}]);
CEVAP
orderBy
aslında filtre parametre olarak sadece bir dize, aynı zamanda bir fonksiyon alabilir. orderBy
belgeleri: http://docs.angularjs.org/api/ng.filter:orderBy):
fonksiyon: Alıcı işlevi. Bu işlev sonucu sıralanır <, =, ^ kullanarak . operatör.
Yani, kendi işlevi yazabilirsiniz. Örneğin, eğer karşılaştırmak kartlara göre bir miktar opt1 ve opt2 (bunları uydurduğumu, noktası bir keyfi fonksiyon) olur yazmak denetleyici:
$scope.myValueFunction = function(card) {
return card.values.opt1 card.values.opt2;
};
ve, şablon: sonra
ng-repeat="card in cards | orderBy:myValueFunction"
Başka bir şey belirtmekte fayda var orderBy
sadece bir örnek AngularJS filters eğer ihtiyacınız olan bir çok özel sipariş davranışları yazabilirsiniz kendi filtre (her ne kadar orderBy
yeterli olmalı en çok kullandığı durumlarda).
En aza indirmek * özel bir dağıtım içi...
Nasıl Açısal js bir form için özel doğ...
Android: tüm uygulama için özel yazı t...
Özel daire düğmesi...
Denetleyici bir fonksiyonu, genel dene...