SORU
30 Ocak 2013, ÇARŞAMBA


AngularJS - filtre boş sonuç için yer tutucu

Filtre sonucu boş döndüğünde bir yer tutucu, <No result> vs. olsun istiyorum. Herkes yardım eder misiniz? Nereden başlayacağımı bile bilmiyorum.

HTML:

<div ng-controller="Ctrl">
<h1>My Foo</h1>
<ul>
    <li ng-repeat="foo in foos">
        <a href="#" ng-click="setBarFilter(foo.name)">{{foo.name}}</a>
    </li>
</ul>
<br />
<h1>My Bar</h1>
<ul>
    <li ng-repeat="bar in bars | filter:barFilter">{{bar.name}}</li>
</ul>

</div>

JS:

function Ctrl($scope) {

  $scope.foos = [{
    name: 'Foo 1'
  },{
    name: 'Foo 2'
  },{
    name: 'Foo 3'
  }];

  $scope.bars = [{
    name: 'Bar 1',
    foo: 'Foo 1'
  },{
    name: 'Bar 2',
    foo: 'Foo 2'
  }];

  $scope.setBarFilter = function(foo_name) {
    $scope.barFilter = {};
    $scope.barFilter.foo = foo_name;
  }
}

jsFiddle: http://jsfiddle.net/adrn/PEumV/1/

Teşekkürler!

CEVAP
1 ŞUBAT 2013, Cuma


Sadece filtreyi seçmek için gerekli yaklaşımı üzerine bir çimdik:

  <li ng-repeat="bar in filteredBars = (bars | filter:barFilter)">{{bar.name}}</li>
</ul>
<p ng-hide="filteredBars.length">Nothing here!</p>

Fiddle

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Marina and The Diamonds

    Marina and T

    8 Temmuz 2008
  • Tracy Hairston

    Tracy Hairst

    22 Mayıs 2009
  • TROPFEST

    TROPFEST

    27 Mart 2007