SORU
20 Temmuz 2012, Cuma


Bir listeyi kullanarak sayfa ng-repeat

Listeme sayfa eklemeye çalışıyorum. AngularJS öğretici, akıllı telefonlar hakkında bir takip ettim ve nesneleri sadece belirli sayıda görüntülemek için çalışıyorum. İşte benim html dosyası:

  <div class='container-fluid'>
    <div class='row-fluid'>
        <div class='span2'>
            Search: <input ng-model='searchBar'>
            Sort by: 
            <select ng-model='orderProp'>
                <option value='name'>Alphabetical</option>
                <option value='age'>Newest</option>
            </select>
            You selected the phones to be ordered by: {{orderProp}}
        </div>

        <div class='span10'>
          <select ng-model='limit'>
            <option value='5'>Show 5 per page</option>
            <option value='10'>Show 10 per page</option>
            <option value='15'>Show 15 per page</option>
            <option value='20'>Show 20 per page</option>
          </select>
          <ul class='phones'>
            <li class='thumbnail' ng-repeat='phone in phones | filter:searchBar | orderBy:orderProp | limitTo:limit'>
                <a href='#/phones/{{phone.id}}' class='thumb'><img ng-src='{{phone.imageUrl}}'></a>
                <a href='#/phones/{{phone.id}}'>{{phone.name}}</a>
                <p>{{phone.snippet}}</p>
            </li>
          </ul>
        </div>
    </div>
  </div>

Görüntülenecek öğe sayısını sınırlamak için bazı değerleri içeren bir select etiketi ekledim. Şimdi istediğim şey, önümüzdeki 5, 10, vb görüntülemek için sayfa eklemek.

Bu çalışan bir denetleyici var:

function PhoneListCtrl($scope, Phone){
    $scope.phones = Phone.query();
    $scope.orderProp = 'age';
    $scope.limit = 5;
}

Ve ayrıca json dosyalarından veri almak için bir modül var.

angular.module('phonecatServices', ['ngResource']).
    factory('Phone', function($resource){
        return $resource('phones/:phoneId.json', {}, {
            query: {method: 'GET', params:{phoneId:'phones'}, isArray:true}
        });
    });

Bana yardımcı olabilir umuyoruz. Şimdiden teşekkürler.

CEVAP
20 Temmuz 2012, Cuma


Eğer çok fazla veri varsa, kesinlikle sadece tarayıcıda tüm verileri depolamak ve belirli bir zamanda görünür ne filtreleyerek sayfa yapabilirsiniz.

Burada basit bir sayfa örnek: http://jsfiddle.net/2ZzZB/56/

Bu örnek yardımcı olmalıdır angular.js github wiki, kemanlar listesi vardı: https://github.com/angular/angular.js/wiki/JsFiddle-Examples

EDİT: http://jsfiddle.net/2ZzZB/16/ için http://jsfiddle.net/2ZzZB/56/ ("1/4 izlemeyeceğiz.5 Eğer 45 sonuç ise orada")

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Major FX

    Major FX

    6 HAZİRAN 2012
  • Sean Murphy

    Sean Murphy

    4 ŞUBAT 2009
  • Stevie

    Stevie

    2 Mayıs 2010