Qanday qilib bir nechta qiymatni qaytarish jarayonida qatorning xususiyatlarini yaratish mumkin?

Quyida mening qator:

$scope.parent.cars1 = ["Saab", "BMW"];//There are more than 1000 records in this array

$scope.child.Cars1 = [];

Endi $ scope.parent.cars1 ni $ scope.child.Cars1 ga belgilashga harakat qilaman, ammo $ scope.child »dagi 3 ta xususiyatga ega bo'lishni xohlayman. <1> nomi va operatsiya funktsiyasi 1 va selected xususiyatlaridan biri bo'ladi.

Kod:

$scope.child = {};
if ($scope.child.Cars1 == undefined)
    $scope.child.Cars1 = [];

angular.forEach($scope.parent.Cars1, function(obj, key) {
    $scope.child.Cars1.push({
            name: obj,
            operation: 1,//this value is used to tick all radio button of clear and save
            selected: true//this value is used to check all checkbox to true by default
    });
})

Endi $ scope.parent.Cars1 mening yozuvlarim minglab yozuvlarni o'z ichiga olganligi sababli brauzerim to'xtab qoladi, chunki men ushbu kodni ko'rsatish uchun ushbu kodni ishlataman $ scope.child.Cars1 Quyidagi kabi yozuvlar:

<tr ng-repeat="item in child.Cars1 | myfilter : searchitem">
     <td>
         <input ng-model="item.selected" type="checkbox" name="a{{$index}}" id="a{{$index}}">
     </td>
     <td>
          <div>
             <input type="radio" ng-model="item.operation" value="0" name="b{{$index }}" id="b{{$index}}">Clear
          </div>
          <div>
             <input type="radio" ng-model="item.operation" value="1" name="b{{$index }}" id="b{{$index}}">Clear and Save
          </div>
     </td>
 </tr>;

Update : I am trying to avoid the process given below, so that browser doesn't get hanged because of huge number of records:

angular.forEach($scope.parent.Cars1, function(obj, key) {
        $scope.child.Cars1.push({
                name: obj,
                operation: 1,//this value is used to tick all radio button to true by default
                selected: true//this value is used to check all checkbox to true by default
        });
});

Plunker

Buning uchun @Bear plunker ishlatiladi:

enter image description here

4
@PankajParkar: Agar siz mening plunkerni ko'rishni xohlasam, butun mening tasdiqlash qutisi sukut bo'yicha tekshirilishini va radio tugmachasini aniq qilib belgilashni xohlayman
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
@Alok: Mening yangilanishim mening tashvishimni tushunishga yordam berishi mumkin
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
@federicoscamuzzi: Buni javob shaklida yozib qo'ying, men uni tushuna olaman
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
@ Gurkanİlleez: Men plunker.load lazily vositasi yaratdim?
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
@ holi-java: Men plunker.parent.cars yaratdim va child.cars o'zgartirilmaydi. Ular faqat kirish imkoniyatiga ega
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
@PankajParkar: Ko'rinib turibdiki, men plunker yaratdim, lekin mening UI qanday va nimaga erishmoqchi ekanligimni
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
@ holi-java: mening kodim yaxshi ishlaydi, lekin bu qo'shimcha loop mening brauzerimni sekinlashtirmoqda, shuning uchun ishlash muammosi haqida gapiraman
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
ng-repeat ichidagi ulanishga ega bo'lgan 1k satrlar faqat sekinroq bo'ladi .. bu erda erishmoqchi bo'lgan narsa nima?
qo'shib qo'ydi muallif Pankaj Parkar, manba
Iltimos, namunaviy plastika yaratishingiz mumkin. Muammoni tushunish biroz qiyin.
qo'shib qo'ydi muallif Alok, manba
Sizning haqiqiy muammoingizni bilmayman. Muammo ishlash muammolari yoki sizning kodingiz kodning ustida ishlamaydi?
qo'shib qo'ydi muallif holi-java, manba
parent.Cars1 dan all child.Cars1? ota-ona va bola Cars1 o'zgartirilmaydi, faqatgina kirish/o'chirish mumkinmi?
qo'shib qo'ydi muallif holi-java, manba
Savolimga javob berdim. Iltimos, pastga qarang. Proksi no loopni ishlatib, boshlang'ich bolaga kerak emas
qo'shib qo'ydi muallif holi-java, manba
$ scope array-ga emas, balki $ var ($ scope.parent.Cars1, funktsiya (obj, kalit) uchun emas, balki $ scope.child.Cars1 = myvar;
qo'shib qo'ydi muallif federico scamuzzi, manba
Ehtimol, siz dangasaliklarni o'rnatishingiz mumkin
qo'shib qo'ydi muallif Gurkan İlleez, manba

6 javoblar

I've update and cleanup my PLUNKER with a real 8000 records...
I have to say that if you don't use pagination o some technique that only write a certain quantity of records in the DOM, you probably have a bad perfomance.

As a advice to improve better perfomace:

        • Vars
        • Barcha qatorning mahalliy nusxasi bilan ishlang va faqat ekranda yozuvlarning chegara miqdorini ulang. ( slice (start, end)
        • ) dan foydalaning
        • kodini $ index ga qo'shish ( burchak docs ng- takrorlang )
        • 1.3+ burchakdan foydalanayotganingizda, agar kerak bo'lmasa, ikki tomonlama ma'lumotlarni ulashni o'chirib qo'ying ( angularJs bir tomonlama ma'lumotlarga ulanish )

        Mening kodim:

        CONTROLLER JS:

        var bigArray = ["Dandai", "Immātīn", "Oefatu" ...];
        var itemsLocal = []; //Local copy of the items to work
        
        var PAGE_SIZE = 250;
        var TOTAL_RECORDS = bigArray.length;
        
        var start = 0;
        var end = PAGE_SIZE;
        
        $scope.items = []; //Items to repeat in screen
        
        $scope.loadData = loadData;
        $scope.prevPage = prevPage;
        $scope.nextPage = nextPage;
        
        transformData();
        loadData();
        
        function transformData() {
            for (var i = 0; i < TOTAL_RECORDS; i++) {
              itemsLocal.push({
                name: bigArray[i],
                selected: true,
                operation: 1
              });
            }
        }
        
        function loadData() {
            $scope.items = itemsLocal.slice(start, end); //repeat only certain part of the data
        }
        
        function prevPage() {
            if (start < PAGE_SIZE) 
                return;
        
            start = start - PAGE_SIZE;
            end = end - PAGE_SIZE;
            loadData();
        }
        
        
        function nextPage() {
            if (end >= TOTAL_RECORDS) 
                return;
        
            start = start + PAGE_SIZE;
            end = end + PAGE_SIZE;
            loadData();
        }
        

        HTML:

        <div>
            <button type="button" ng-click="prevPage()">Load Previous</button>
            <button type="button" ng-click="nextPage()">Load Next</button>
        </div>
        
        

        <table class="table">
            <thead>
              <tr>
                <th>Column 1</th>
                <th>Column 2</th>
              </tr>
            </thead>
            <tbody>
              <tr ng-repeat="item in items track by $index">
                <td>
                  <input ng-model="item.selected" type="checkbox"> {{ item.name }}
                </td>
                <td>
                  <div>
                    <input type="radio" class="radio-custom" ng-model="item.operation" value="0">Clear
                  </div>
                  <div>
                    <input type="radio" class="radio-custom" ng-model="item.operation" value="1">Clear and Save
                  </div>
                </td>
              </tr>
            </tbody>
        </table>
        
7
qo'shib qo'ydi
Menga yordam berishga qaratilgan mehnatsevar harakatlaringiz uchun ortda qoldi. Yozuvlar hajmi 7000-8000 ga oshsa, UI juda sekin bo'ladi
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
Yomon ishqilib ishlaganingizdan keyin nima bo'lganini yozgan mening yangilangan savolga qarang
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
8000 ta element bilan ushbu PUNKER ni tekshiring, menimcha, brauzer javob juda ko'p DOMda ro'yxatdan o'tish. Jadvalda 8000 ta satrni sekin yoki lagigacha bajarish ancha aniq yoki aniq emas. Agar siz buni izlayotgan bo'lsangiz, men javobni yangilab, cheklash bilan qilaman va juda tezroq bo'ladi.
qo'shib qo'ydi muallif The.Bear, manba
Firefox qaysi versiyasini ishlatasiz? Menda hech qanday ogohlantirish yo'q ... Yaxshiyamki, bu har doim 8000 qatorni ko'rsatmaslik uchun chegara o'rnatish uchun yaxshiroq yondashuvdir deb o'ylayman ... Keyinchalik cho'chqa guruxini yangilayman ... Xavotirlanmang
qo'shib qo'ydi muallif The.Bear, manba
Men PUNKER ni yangiladim ... Men o'zgacha paginatsiyani ( Agar xohlasangiz, abadiy o'tish. Keling, sizning barcha ma'lumotlaringiz uchun ajoyib ish bilan bog'liqdir ... Menimcha, bu katta hajmdagi ma'lumotlar bilan ishlashning eng yaxshi yo'li.
qo'shib qo'ydi muallif The.Bear, manba

Siz Array.map() qatorini qayta ishlatish usuli.

O'z sinab ko'rishim uchun 1000 yozuvlari bilan ( $ scope.array1000 ) qatorni yaratdi va hech qanday muammolarsiz jarimaga tortildi (to'xtatildi, qo'shimcha yuk vaqti va h.k.) .

DEMO

<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"> <div class="snippet-code">

var app = angular.module('myApp', []);

app.controller('MyCtrl',function($scope) {
  $scope.parent = { "cars1": ["Saab", "BMW"] };
  $scope.array1000 = [];
  for (var i=0; i< 1000; i++) {
    $scope.array1000.push($scope.parent.cars1[0]+''+i);
  }
  
  var res = $scope.array1000.map(function(record) {
    return {
      "name": record,
      "operation": 1,
      "selected": true
    }
  });
  
  console.log(res);
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="MyCtrl">
  <div ng-repeat="item in array1000">
    {{ item }}
  </div>
</div>
</div> </div>
5
qo'shib qo'ydi
Kod bilan birgalikda kodni 2 döngüyle bilan birga: $ scope.array1000 qatorini to'ldirish uchun 1 döngü va yana bir tomondan va xarita function.isnt ko'rinishida pastadir mumkin va bu xususiyatni yaratish va o'rnatish mumkinmi? menga yordam berishga bo'lgan mehnatingiz
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
Array1000 da yozuvlarni surish uchun pastadirdan qochishim mumkinmi?
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
Bu ishlayapti, lekin bitta narsa mening ma'lumotim API-dan $ scope.parent-da allaqachon kelganligi va men bu ma'lumotni $ scope.child.Cars1 da asl qiymati 1 bilan ishlaydigan va rost
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
Xo'sh, muammo odam qaerda? .. siz mening kodimni o'zim sinab ko'rishim mumkin. $ scope.array1000.map dan foydalanish o'rniga $ scope.parent.cars1map
qo'shib qo'ydi muallif Rohit Jindal, manba
@Eyni siz uchun ishlaydimi?
qo'shib qo'ydi muallif Rohit Jindal, manba
Ha, sizlarga aytmoqchi bo'lganidek, demo uchun 1000 elementlar majmuini yaratdim, ammo sizning holatlaringizda u avtomatik tarzda API'dan keladi. shuning uchun bu loop mavjud bo'lmaydi.
qo'shib qo'ydi muallif Rohit Jindal, manba
Birinchi döngü, faqat 1000 elementlar majmuini yaratish uchun. Faqat ma'lumot uchun. map usuli standart qiymatlarni xususiyatlarga qo'shish uchun ishlatiladi.
qo'shib qo'ydi muallif Rohit Jindal, manba

muammo sekin ni tuzadigan ma'lumotlar ishga tushirilganda emas, asosiy muammo DOM elementini manipulyatsiya qilish kodi> bir marta bosilsa, brauzer osgan kabi ko'rinadi. Agar bir vaqtning o'zida ma'lumotlarni katta qismidan ma'lumotlarni bir qismini ko'rsatish kerak bo'lsa, siz intervalli $ interval , chunki men hech qachon angularjs kodini ishlatmaganman, bu muammo meni kechaning ko'p qismini sarfladi, lekin men bunga loyiqman deb o'ylayman.

<div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false"> <div class="snippet-code">

// Instantiate the app, the 'myApp' parameter must
// match what is in ng-app
var myApp = angular.module('myApp', []);
function timeFormat(time) {
    var units = ['ms', 's', 'm'];
    var radix = [1000, 60, 60];

    for (var i = 0; i < units.length; i++) {
        if (time < radix[i]) {
            return time.toFixed(2) + units[i];
        }
        time /= radix[i];
    }
    return time + 'h';
}
function run(name, fn) {
    var start = +new Date;
    var result = fn.call(this);

    function timeElapsed() {
        var elapsed = +new Date - start;
        console.log(['Stage[' + name + ']', 'elapsed', timeFormat(elapsed)].join(' '));
    }

    if (typeof result.then == 'function') {
        result.then(timeElapsed);
    } else {
        timeElapsed();
    }
    return result;
}
myApp.controller('ToddlerCtrl', function ($scope, $timeout, $interval) {
    var cars = run('initializing data', function() {
        var DATA_SIZE=1000;
        var cars = [];
        for (var i = 0; i < DATA_SIZE; i++) {
            cars.push(i);
        }
        return cars.map(function (_, i) {
            return 'car-' + i;
        }).map(function (name) {
            return {
                name: name,
                operation: 1,
                selected: true
            };
        });
    });
    $scope.className = 'loading';
    //initialing cars for rendering
    $scope.cars = [];
    var BATCH_SIZE = 30;
    var batches = Math.floor(cars.length/BATCH_SIZE);
    var DELAY = 1;
    var push = Array.prototype.push;


    var task = run('filling data', function() {
        function fill() {
            push.apply($scope.cars, cars.splice(0, BATCH_SIZE));
            //rendering data into browser
            console.log('Remaining ' + cars.length + ' items ...');
        }

        fill();
        return $interval(fill, DELAY, batches);
    }).then(function() {
        $scope.className = 'hidden';
    });

});
ul, li, html, body { margin: 0; padding: 0; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; } ul { list-style: none; } .loading { font-size: 2em; font-weight: bold; position: fixed; right: 20px; top: 20px; color: green; } .hidden { display: none; } .loading em { position: relative; display: inline-block; height: 1em; width: 50px; } .loading span { position: absolute; text-overflow: clip; -webkit-animation: loading 1s infinite linear; -o-animation: loading 1s infinite linear; animation: loading 1s infinite linear; } @keyframes loading { from { clip: rect(0, 0, 50px, 0); } to { clip: rect(0, 50px, 50px, 0); } } @-o-keyframes loading { from { clip: rect(0, 0, 50px, 0); } to { clip: rect(0, 50px, 50px, 0); } } @-webkit-keyframes loading { from { clip: rect(0, 0, 50px, 0); } to { clip: rect(0, 50px, 50px, 0); } } .loading:first-letter { font-size: 1.5em; } li { float: left; width: 21%; border: 2px solid #eee; margin: 10px 2%; padding: 5px; } .car { padding: 5px 0 10px; display: block; } .button-group { text-align: right; }
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.7/angular.min.js"></script>
<div ng-controller="ToddlerCtrl"> <div ng-class="className" class="loading">Loading ...</div>
  • <div class="button-group"> </div>
</div>
 
</div> </div>

4
qo'shib qo'ydi
Lekin men ko'rganimdagina kodimni allaqachon yuklaganman
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
Buni bu yerdan olishingiz mumkin: pastebin.com/X6ff3mpA
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
Uni qanday o'chirish mumkin?
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
Sizning mehnatsevarligingiz uchun juda ko'p rahmat. Menga yordam berishga qaratilgan sa'y-harakatlaringizni juda qadrlayman :)
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
Mening brauzerim ham 50 ta yozuvlar bilan osib olindi va konsolda ham xatolikka yo'l qo'ydi. Xato: Xato: [$ rootScope: infdig] 10 $ digest() yinelemalari erishildi. Abort qilish!
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
Kechirasiz, siz nima deb aytayotganingizni bilmayman. Siz o'zingizning g'oyangizga batafsil javob berasizmi?
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
Endi u yaxshi ishlaydi, lekin loopga nisbatan sekin
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
OK, sizga juda minnatdorchilik bildiraman. Uni yana ko'rasiz
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
Ushbu satrda xato qilish: $ scope.child.Cars1 = yangi proksi (mashina, Xato: mashinalar aniqlanmagan
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
Ushbu proksi-server barcha brauzerlarda ishlay oladimi?
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
Menga yordam berishga qaratilgan sa'y-harakatlaringiz uchun yuqoriga ko'tarildi. Men uni sinab ko'raman. Sizga juda minnatdorman :)
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
Siz o'zingizning javobingiz bilan mening qo'zg'aluvchimni yangilaysizmi va bu ishlayaptimi yoki yo'qligini bilib olasizmi?
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
Men Xitoydanman, juda sekin po'choqni ochaman, sahifani har doim yuklaydi ...
qo'shib qo'ydi muallif holi-java, manba
Ba'zi noto'g'ri narsalarni tahrir qilsam, kodni nusxa ko'chirishingiz va uni yana sinab ko'rishim mumkin. Agar u ham sekin bo'lsa, unda bu muammo emas.
qo'shib qo'ydi muallif holi-java, manba
Buni tezda qila olasizmi?
qo'shib qo'ydi muallif holi-java, manba
brauzerni qo'llab-quvvatlaydi ko'pgina brauzerlar qo'llab-quvvatlanadi. Bunga muhtojman, chunki hech qachon angularjs ishlatilmadi.
qo'shib qo'ydi muallif holi-java, manba
Siz mening yangi versiya kodimni taqqoslayapsiz va mashina nima noto'g'ri ekanligini bilib oldim. parent.Cars1
qo'shib qo'ydi muallif holi-java, manba
Kechirasiz, kodda hali ham xatolar bor, chunki men faqat nusxa ko'chiraman va joylashtiraman. Javobni tahrir qildim.
qo'shib qo'ydi muallif holi-java, manba
millionlab qatorlarni ko'rsatish uchun sobit 100 satrni qayta ishlatish. Bu bo'lim qanday ishlaydi, keyin siz millionlab satr ma'lumotlarini nima uchun ishlatishini bilasiz.
qo'shib qo'ydi muallif holi-java, manba
clusterize.js.org demosiga ega, ammo siz ma'lumot-modellar bazasini chaqiriqqa bog'lashingiz/bog'lashingiz kerak
qo'shib qo'ydi muallif holi-java, manba
proksi-yu loopdan asta-sekin, nima uchun? pastadir ishlash muammosi emas, balki burchakka bog'lash muammosi
qo'shib qo'ydi muallif holi-java, manba
Agar bilsangiz, android ListView kabi jadval satrlarini qayta ishlatib, muammoning echimini topishingiz mumkin.
qo'shib qo'ydi muallif holi-java, manba
burchakli ikkita bog'lash mexanizmini o'chirib tashlab, ma'lumotlarni ko'rsatish mumkinmi?
qo'shib qo'ydi muallif holi-java, manba
savol mavzuni va tarkibni o'zgartiring, kimdir bu muammoni tezda hal qilsin.
qo'shib qo'ydi muallif holi-java, manba
Bilmayman, shuning uchun sizdan so'radim.
qo'shib qo'ydi muallif holi-java, manba
kodingizni github-da ma'lumot bilan yuklashingiz mumkinmi?
qo'shib qo'ydi muallif holi-java, manba

bir narsa kabi .. ?? .. yordam beradi deb umid qilaman

$scope.child = {};
  if ($scope.child.Cars1 == undefined)
            $scope.child.Cars1 = [];
        var all = angular.copy($scope.parent.Cars1);
        var test = [];

  angular.forEach(all, function (obj, key) {
             test.push(
           {
               name: obj,
               operation: 1,//this value is used to tick all radio button of clear and save
               selected: true//this value is used to check all checkbox to true by default
           }
       );

$scope.child.Cars1 = test;
        })

Shunday qilib, siz $ scope vars bilan ishlamaydi (sababi, haeavy va muzlatilgan UI) ...

3
qo'shib qo'ydi
Menga yordam berishga bo'lgan mehnatsevarligingiz uchun g'ayrioddiy.
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
Sizningcha, bu qo'shimcha ko'chadan test qatorini to'ldirish uchun kerak deb o'ylaysizmi?
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
Albatta, thnx .. Men bir ko'z oldim
qo'shib qo'ydi muallif federico scamuzzi, manba
... ?? ..what ... i faqat twaht qilyapsan .. lekin $ scoped default ustida ishlamasdan
qo'shib qo'ydi muallif federico scamuzzi, manba

Sekinlikning sababi filtr bo'lishi mumkin: ng-repeat = "child.Cars1 | myfilter: searchitem" elementi.

Ob'ektlarning child.Cars1 qatori juda tez yaratiladi.

3
qo'shib qo'ydi
Menga yordam berishga qaratilgan mehnatsevar harakatlaringiz uchun minnatdingiz, lekin nima uchun 2 ota-ona va bolani nazorat qilish organini qabul qilmayapman?
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
Men qilmoqchi bo'lgan narsani noto'g'ri tushunib etdim. Javobni yangiladim. Dondurma sababi, ehtimol, filtr, ehtimol, menimcha
qo'shib qo'ydi muallif K Scandrett, manba

Xayriyatki, plasherda juda ko'p xatolar bor edi. Misol kodini namoyish qilish uchun tezda uni yaratgan deb o'ylayman.

Haqiqiy fayllaringizni haqiqiy ma'lumotlar bilan ko'rmasangiz, muammoni pin-nuqta qo'yish qiyin.

Try to use a simple array.map() function. Check this out http://plnkr.co/edit/Sx3lMIBEMMj4xrOBI5vI?p=preview

Agar ob'ektni qaytaradigan qatordagi xaritalash vazifasi kerakli shaklda ma'lumotlarni tuzadi.

Agar osma jikkakka sababli bo'lsa, uni bartaraf etishi mumkin. Aks holda, array ustida yineleyen oddiy loop harakat qilib ko'ring. A for loop - bu funktsiya chaqiruvidan ortiqcha emas, chunki bir qator orqali pastadir o'tkazishning eng tezkor va eng samarali usuli.

Biroq, 1000 dan ortiq DOM elementlari brauzerni osib qo'yishiga olib kelishi mumkin. Agar mening qo'zg'olonim yordamga muhtoj bo'lsa, bir vaqtning o'zida to'liq ma'lumotlarning bir qismini ko'rsatishga harakat qiling.

Buni oddiygina sahifani kiritish orqali amalga oshirish mumkin, unda faqat bir vaqtning o'zida ma'lum bir raqamga ega sahifa ko'rsatiladi.

Yoki virtual takrorlash kabi ko'rsatmalardan foydalanishingiz mumkin.

Hatto DOMni buferlashda cheksiz aylantirish usuli.

Umuman, foydalanish holatlariga bog'liq.

3
qo'shib qo'ydi
Yozuvlar, o'zingizning yaratganingizdek aynan bir xil va afsuslanyapman, men sizni pagination qila olmayman
qo'shib qo'ydi muallif Learning-Overthinker-Confused, manba
Angular Uzbekistan
Angular Uzbekistan
107 ishtirokchilar

Guruh Angular bo'yicha muloqot qilish uchun ochilgan Sizni qiziqtirsa: @nodejs_uz @react_uz @angular_uz @yiiframework_uz @js_uzb @typescript_uzb @vuejs_uz @ngTashkent @laravel_uz @uzdevgroup Ish o'rinlari @UzDev_jobs

Javascript UZB
Javascript UZB
99 ishtirokchilar

@js_uzb @vuejs_uz @react_uz @nodejs_uz @angular_uz @ngTashkent @yiiframework_uz @laravel_uz @linux_uzbek @python_uz @swift_uzb —————— @uzdevgroup @UzGeeksGroup ——— @UzDev_Jobs @jobs_uzb

ngTashkent
ngTashkent
77 ishtirokchilar

Правила просты: 1. Не хамить 2. Не хейтить 3. Реакт не нужен Ссылки: https://t.me/angular_ru - старший брат https://t.me/angular_uz - ангулар на узбекском @js_uzb @vuejs_uz @react_uz @nodejs_uz @yiiframework_uz @uzdevgroup @UzDev_Jobs @tasdev_talks