সংখ্যা এবং ব্যাপ্তির সাথে লুপের জন্য কৌণিক জেএস


252

কৌণিক তার এইচটিএমএল নির্দেশের মধ্যে সংখ্যা ব্যবহার করে লুপের জন্য কিছু সমর্থন সরবরাহ করে:

<div data-ng-repeat="i in [1,2,3,4,5]">
  do something
</div>

তবে যদি আপনার স্কোপ ভেরিয়েবলটিতে একটি গতিশীল সংখ্যা রয়েছে এমন একটি ব্যাপ্তি অন্তর্ভুক্ত থাকে তবে আপনাকে প্রতিবার একটি খালি অ্যারে তৈরি করতে হবে।

নিয়ামক মধ্যে

var range = [];
for(var i=0;i<total;i++) {
  range.push(i);
}
$scope.range = range;

এইচটিএমএলে

<div data-ng-repeat="i in range">
  do something
</div>

এটি কাজ করে, তবে এটি অপ্রয়োজনীয় যেহেতু আমরা লুপের মধ্যে পরিসর অ্যারেটি ব্যবহার করব না। কেউ কি সর্বনিম্ন / সর্বাধিক মানের জন্য কোনও ব্যাপ্তি বা নিয়মিত সেট করার বিষয়ে জানেন?

কিছুটা এইরকম:

<div data-ng-repeat="i in 1 .. 100">
  do something
</div>

2
এই সম্পর্কে আরও কিছু তথ্য এখানে। Yearofmoo.com/2012/10/…
matsko

উত্তর:


280

আমি এই উত্তরটি কিছুটা টুইট করেছি এবং এই ঝাঁকুনিটি নিয়ে এসেছি

ফিল্টার হিসাবে সংজ্ঞায়িত:

var myApp = angular.module('myApp', []);
myApp.filter('range', function() {
  return function(input, total) {
    total = parseInt(total);

    for (var i=0; i<total; i++) {
      input.push(i);
    }

    return input;
  };
});

এর মতো পুনরাবৃত্তি ব্যবহৃত:

<div ng-repeat="n in [] | range:100">
  do something
</div>

আকর্ষণীয় আমি ক্রোম ব্যবহার করে ফিডলটিতে কোনও ত্রুটি দেখতে পাচ্ছি না। কোন ব্রাউজার?
গোলাপী

5
ভয়ানক! ;) একটি ফিল্টার এটি করার উপায় নয়। এটি দুটি নতুন মান নিয়ে কাজ করে এমন একটি নতুন বৈশিষ্ট্য হওয়া উচিত । বর্তমান সূচক এবং উপরের সীমা।
ইয়ান ওয়ারবার্টন

10
@ ইয়ানবারবার্টন আপনি কি এমন উত্তর নিয়ে আসতে সক্ষম হন যা আপনার মানদণ্ডগুলি পূরণ করে?
শিশিরের

1
@ ইয়ান ওয়ারবার্টন: নীচে একটি উত্তর রয়েছে যা নীতির সাথে কাজ করে, আপনি এটি কাজ করতে পারবেন না।
অ্যান্ড্রেস সার্জ

1
আমি তাই আমি এই উত্তর tweeked A এবং B এর মধ্যে একটি পরিসীমা প্রয়োজন jsfiddle.net/h9nLc8mk
Marcio

150

দুটি সংজ্ঞায়িত সংখ্যার উদাহরণস্বরূপ একটি পরিসীমা তৈরির জন্য আমি একটি আরও সহজ সংস্করণ নিয়ে এসেছি। 5 থেকে 15

জেএসফিডেলে ডেমো দেখুন

এইচটিএমএল :

<ul>
    <li ng-repeat="n in range(5,15)">Number {{n}}</li>
</ul>

নিয়ামক :

$scope.range = function(min, max, step) {
    step = step || 1;
    var input = [];
    for (var i = min; i <= max; i += step) {
        input.push(i);
    }
    return input;
};

14
এই জাতীয় জিনিসগুলির জন্য আপনাকে নজরদারি করতে হবে। পরিসরের কাজটি তালিকার প্রতিটি আইটেমের জন্য একাধিকবার কল করা হবে। আপনি বাজে মেমরি ফাঁস পেতে পারেন এবং আপনি প্রচুর ফাংশন কল উত্পন্ন করছেন। সংগ্রহটিকে নিয়ন্ত্রণকারীর ভিতরে রাখা প্রায় সহজ মনে হয়।
লুকাস হল্ট

1
var a; void 0 === a"সত্যই" অপরিবর্তিত
andlrc

1
আপনি মেমোভাইজার প্যাটার্নের মাধ্যমে ফলাফলগুলি ক্যাশে করে পারফ হিট হ্রাস করতে পারেন। মেমরির দাম কী তা নিশ্চিত নয় তবে এটি একটি উন্নতি। en.wikedia.org/wiki/Memoization
জোশুয়া

1
@ লুকাসহোল্ট অবশেষে এই উদাহরণটি আপডেট করার আশেপাশে। আমি একটি অপ্টিমাইজড সংস্করণ যুক্ত করেছি। এটিতে এখনও অনেকগুলি ফাংশন কল থাকবে তবে এটি পুনরায় ব্যবহার করবে প্রথম ফলাফল যা এটি আরও বেশি পারফরম্যান্ট করে।
sqren

93

সরল জাভাস্ক্রিপ্ট ছাড়া কিছুই নয় (আপনার এমনকি একটি নিয়ামকের প্রয়োজন নেই):

<div ng-repeat="n in [].constructor(10) track by $index">
    {{ $index }}
</div>

উপহাস করার সময় খুব দরকারী


কৌণিক> 1.2.1 এ কাজ করছে না: কনসোলে আমি এই ত্রুটি পেয়েছি Referencing "constructor" field in Angular expressions is disallowed! Expression: [].constructor(10)। সম্ভবত এটি অ্যাংুলার এর আগের সংস্করণে কাজ করছিল বা আমি কিছু ভুল করছি।
এওল্ফ

আমি মনে করি আমি এটি 1.3 বা 1.4 এ পরীক্ষা করেছি এবং এটি ভাল ছিল। আমি বিশ্বাস করি তারা পার্সারের উন্নতি করেছে সুতরাং এটি প্রতিটি 'কন্সট্রাক্টর' অ্যাক্সেসকে অস্বীকার করে না তবে কেবল সত্যই বিপজ্জনক (যেমন কোড যা মূল্যায়নে [].slice.constructorপ্রবেশাধিকার দেয় Function)।
মল নিসন

ঠিক আছে ধন্যবাদ. আমি এটি 1.2.1 দিয়ে পরীক্ষা করেছি এবং এটি কাজ করছে না (জেএসফিডাল ড্রপডাউন অন্তর্ভুক্ত সংস্করণ)। তবে 1.3.15 দিয়ে এটি কাজ করছে। এই jsFizz দেখুন ।
এওল্ফ

পৃষ্ঠাগুলি জন্য দুর্দান্তভাবে দরকারী। ধন্যবাদ;)
অপরিচিত

69

আমি কিছুটা আলাদা সিনট্যাক্স নিয়ে এসেছি যা আমাকে আরও কিছুটা ফিট করে এবং পাশাপাশি একটি alচ্ছিক নিম্ন বাঁধাই যুক্ত করে:

myApp.filter('makeRange', function() {
        return function(input) {
            var lowBound, highBound;
            switch (input.length) {
            case 1:
                lowBound = 0;
                highBound = parseInt(input[0]) - 1;
                break;
            case 2:
                lowBound = parseInt(input[0]);
                highBound = parseInt(input[1]);
                break;
            default:
                return input;
            }
            var result = [];
            for (var i = lowBound; i <= highBound; i++)
                result.push(i);
            return result;
        };
    });

যা আপনি হিসাবে ব্যবহার করতে পারেন

<div ng-repeat="n in [10] | makeRange">Do something 0..9: {{n}}</div>

অথবা

<div ng-repeat="n in [20, 29] | makeRange">Do something 20..29: {{n}}</div>

এই মহান, কিন্তু কিভাবে আপনি চারদিকে পেতে পারি $digestযখন একটি বিশ্লেষণ করা মান অর্থাত ব্যবহার করে, পুনরাবৃত্তিও: ng-repeat="n in [1, maxValue] | makeRange"?
pspahn

এক এবং দুটি পরম কেস হাইবাউন্ডকে আলাদাভাবে আচরণ করে, এটি সামঞ্জস্যপূর্ণ হওয়া উচিত
ভজক হার্মেকজ

31

কৌণিক নতুন যারা। সূচকটি $ সূচক ব্যবহার করে অর্জন করা যায়।

উদাহরণ স্বরূপ:

<div ng-repeat="n in [] | range:10">
    do something number {{$index}}
</div>

কোনটি, যখন আপনি গ্লোপির হ্যান্ডি ফিল্টার ব্যবহার করছেন, মুদ্রণ করুন:
কিছু কিছু করুন 0
কিছু করুন 1
নম্বর কিছু করুন 2
কিছু করুন 3
কিছু করুন 4
নম্বর
কিছু করবেন 5 নম্বর
কিছু করবেন 6 নম্বরটি
কিছু করবে 8 নম্বর করুন
9 নম্বর কিছু করুন


7
সত্য, তবে এই ক্ষেত্রে do something number {{n}}যথেষ্ট হবে ice
captncraig

2
আমি যখন এই কোডটি Chrome এ চালানোর চেষ্টা করি তখন আমি কনসোলে একটি ত্রুটি পেয়েছি: ত্রুটি: [ject ইনজেক্টর: আনআরপিআর) त्रुटी . angularjs.org/1.2.6/$injector/… ... ... Wa.statements এ ( ajax.googleapis.com/ajax/libs/angularjs/1.2.6/… ) <! - ng পুনরাবৃত্তি: এন ইন [] | ব্যাপ্তি: 10 -> (দুর্ভাগ্যক্রমে সম্পূর্ণ ত্রুটি অনুমোদিত মন্তব্যের দৈর্ঘ্যে মাপসই এত দীর্ঘ যেহেতু আমি কেবল প্রথম এবং শেষ লাইনটি অনুলিপি করেছি)
কেমিক্সনার

1
আমি কোডটির একটি প্লঙ্কার উদাহরণ তৈরি করেছি যাতে আপনি এটি আপনার কোডের সাথে তুলনা করতে পারেন। plnkr.co/edit/tN0156hRfX0M6k9peQ2C?p=preview
Arnoud Sietsema

21

এটি করার একটি সংক্ষিপ্ত উপায় হ'ল অ্যান্ডস্কোর.জেএস এর _.রেঞ্জ () পদ্ধতিটি ব্যবহার করা। :)

http://underscorejs.org/#range

// declare in your controller or wrap _.range in a function that returns a dynamic range.
var range = _.range(1, 11);

// val will be each number in the array not the index.
<div ng-repeat='val in range'>
    {{ $index }}: {{ val }}
</div>

1
@ জুউডওয়ার্ড তিনি কখনও বলেননি যে এটি কোনও বিকল্প নয়। আমার রেজোলিউশন তাদের রেপো থেকে ইউনিট পরীক্ষার জন্য এখন পর্যন্ত সবচেয়ে সহজ এবং সবচেয়ে পরীক্ষিত ধন্যবাদ। আপনি সবসময় জেএসটি আনমিনিফাইড লাইব্রেরির বাইরে নিতে পারেন এবং এটি একটি ফাংশন হিসাবে অন্তর্ভুক্ত করতে পারেন।
মাইকেল জে। ক্যালকিনস

4
সত্য, তিনি কখনও তা বলেননি। তবে অন্য লাইব্রেরি প্রয়োগ করে একটি লাইব্রেরিতে সমস্যা সমাধান করা সাধারণত একটি খারাপ ধারণা, এটি আপনাকে প্রথম লাইব্রেরিটি সঠিকভাবে কীভাবে ব্যবহার করতে পারে তা শিখতে বাধা দেয়। বর্তমানের কোনও ভাল সমাধান না থাকলে / অন্য লাইব্রেরির দিকে ঘুরুন।
এরিক হোন

5
আমি ইতিমধ্যে সর্বদা লড্যাশ ব্যবহার করেছি, এটি ছিল সবচেয়ে সহজ সমাধান। ধন্যবাদ. আমি সবেমাত্র $ স্কোপ.আরঞ্জ = _আরঞ্জ করেছি, তারপরে গতিশীল শুরু / শেষ মানগুলির সাথে কোনও টেমপ্লেটে এটি ব্যবহার করা সহজ।
j_walker_dev

2
@ এরিকহোন: অ্যান্ডসকোরজেএস অ্যাংুলারজেএস-এ সম্পূর্ণ ভিন্ন সমস্যা সমাধান করে। অ্যাঙ্গুলারজেএসে ব্যাপ্তি তৈরির জন্য কোনও ভাল সমাধান নেই কারণ এটি গ্রন্থাগারের উদ্দেশ্য নয়।
অ্যালেক্সফক্সগিল

2
এটি পুরানো, তবে অবশ্যই আপনার বর্তমান লাইব্রেরিতে কোনও বৈশিষ্ট্যকে অ-শব্দার্থিক উপায়ে গালি দেওয়ার পরিবর্তে কোনও পরিসীমা তৈরির মতো কাজগুলি করার জন্য ডিজাইন করা একটি লাইব্রেরি ব্যবহার করা আরও ভালতর উপায়? অবশ্যই আপনি কিছু শিখতে পারেন তবে আপনি অন্য কোনও কিছুর জন্য নকশাকৃত জিনিসগুলির বিকৃত ব্যবহারগুলি শেষ করেন।
ড্যান

20

আমি আমার কাস্টম ng-repeat-rangeনির্দেশ ব্যবহার :

/**
 * Ng-Repeat implementation working with number ranges.
 *
 * @author Umed Khudoiberdiev
 */
angular.module('commonsMain').directive('ngRepeatRange', ['$compile', function ($compile) {
    return {
        replace: true,
        scope: { from: '=', to: '=', step: '=' },

        link: function (scope, element, attrs) {

            // returns an array with the range of numbers
            // you can use _.range instead if you use underscore
            function range(from, to, step) {
                var array = [];
                while (from + step <= to)
                    array[array.length] = from += step;

                return array;
            }

            // prepare range options
            var from = scope.from || 0;
            var step = scope.step || 1;
            var to   = scope.to || attrs.ngRepeatRange;

            // get range of numbers, convert to the string and add ng-repeat
            var rangeString = range(from, to + 1, step).join(',');
            angular.element(element).attr('ng-repeat', 'n in [' + rangeString + ']');
            angular.element(element).removeAttr('ng-repeat-range');

            $compile(element)(scope);
        }
    };
}]);

এবং এইচটিএমএল কোড হয়

<div ng-repeat-range from="0" to="20" step="5">
    Hello 4 times!
</div>

বা সহজভাবে

<div ng-repeat-range from="5" to="10">
    Hello 5 times!
</div>

বা এমনকি সহজভাবে

<div ng-repeat-range to="3">
    Hello 3 times!
</div>

বা শুধু

<div ng-repeat-range="7">
    Hello 7 times!
</div>

1
তাত্ত্বিকভাবে দুর্দান্ত, তবে এর ইনজেকশনটি element.attr('ng-repeat', 'n in [' + rangeString + ']');কাজ করে না ...
স্টেফান ওয়ালথার

"আমি ব্যবহার করি...". আপনি কি আসলে এটি ব্যবহার করার চেষ্টা করেছেন? এনজি-রিপিট বৈশিষ্ট্যটি সংকলিত হবে না।
পিটার হেডবার্গ

ধন্যবাদ পিটার, Ive কোড আপডেট করেছেন। আমি এই নির্দেশটি অতীতে ব্যবহার করেছি, তবে এটি এখনও আমার কোড
ভান্ডারটি

9

সর্বাধিক কোনও কোড সলিউশনটি এই ব্যাপ্তির সাথে একটি অ্যারের সূচনা করছিল না, এবং $ সূচক + ব্যবহার করুন তবে আমি যে পরিমাণে অফসেট করতে চাই তা ব্যবহার করে:

<select ng-init="(_Array = []).length = 5;">
    <option ng-repeat="i in _Array track by $index">{{$index+5}}</option>
</select>

7

পদ্ধতির সংজ্ঞা

নীচের কোডটি range()আপনার আবেদনের পুরো ব্যাপ্তিতে উপলব্ধ একটি পদ্ধতি সংজ্ঞায়িত করে MyApp। এর আচরণ পাইথন range()পদ্ধতির সাথে খুব মিল ।

angular.module('MyApp').run(['$rootScope', function($rootScope) {
    $rootScope.range = function(min, max, step) {
        // parameters validation for method overloading
        if (max == undefined) {
            max = min;
            min = 0;
        }
        step = Math.abs(step) || 1;
        if (min > max) {
            step = -step;
        }
        // building the array
        var output = [];
        for (var value=min; value<max; value+=step) {
            output.push(value);
        }
        // returning the generated array
        return output;
    };
}]);

ব্যবহার

একটি প্যারামিটার সহ:

<span ng-repeat="i in range(3)">{{ i }}, </span>

0, 1, 2,

দুটি পরামিতি সহ:

<span ng-repeat="i in range(1, 5)">{{ i }}, </span>

1, 2, 3, 4,

তিনটি পরামিতি সহ:

<span ng-repeat="i in range(-2, .7, .5)">{{ i }}, </span>

-2, -1.5, -1, -0.5, 0, 0.5,


6

আপনি কৌণিক.ফিল্টার মডিউলে 'পরে' বা 'আগে' ফিল্টার ব্যবহার করতে পারেন ( https://github.com/a8m/angular-filter )

$scope.list = [1,2,3,4,5,6,7,8,9,10]

এইচটিএমএল:

<li ng-repeat="i in list | after:4">
  {{ i }}
</li>

ফলাফল: 5, 6, 7, 8, 9, 10


6

আপনার নিয়ামকের কোনও পরিবর্তন ছাড়াই আপনি এটি ব্যবহার করতে পারেন:

ng-repeat="_ in ((_ = []) && (_.length=51) && _) track by $index"

উপভোগ করুন!


এক দিনেরও বেশি সময় ধরে সংগ্রাম করা হয়েছে এবং শেষ পর্যন্ত কেবল এই সিনট্যাক্সটিই আমার পক্ষে কাজ করেছে
অগ্নেল আমোডিয়া

3

সংক্ষিপ্ত উত্তর: কোড 2 লাইন

জেএস (আপনার অ্যাংুলারজেএস কন্ট্রোলারে)

$scope.range = new Array(MAX_REPEATS); // MAX_REPEATS should be the most repetitions you will ever need in a single ng-repeat

এইচটিএমএল

<div data-ng-repeat="i in range.slice(0,myCount) track by $index"></div>

... myCountএই স্থানে থাকা তারার সংখ্যা কোথায় ।

আপনি যে $indexকোনও ট্র্যাকিং অপারেশনের জন্য ব্যবহার করতে পারেন । উদাহরণস্বরূপ, আপনি যদি সূচকে কিছু মিউটেশন মুদ্রণ করতে চান, তবে আপনি নিম্নলিখিতটি লিখতে পারেন div:

{{ ($index + 1) * 0.5 }}

2

অ্যান্ডস্কোরজেএস ব্যবহার করে:

angular.module('myModule')
    .run(['$rootScope', function($rootScope) { $rootScope.range = _.range; }]);

এটি প্রয়োগ করা $rootScopeএটি সর্বত্র উপলব্ধ করে তোলে:

<div ng-repeat="x in range(1,10)">
    {{x}}
</div>

2

খুব সাধারণ একটি:

$scope.totalPages = new Array(10);

 <div id="pagination">
    <a ng-repeat="i in totalPages track by $index">
      {{$index+1}}
    </a>   
 </div> 

2

হাই আপনি অ্যাঙ্গুলারজেএস ব্যবহার করে খাঁটি এইচটিএমএল ব্যবহার করে এটি অর্জন করতে পারেন (কোনও নির্দেশিকা প্রয়োজন নেই!)

<div ng-app="myapp" ng-controller="YourCtrl" ng-init="x=[5];">
  <div ng-if="i>0" ng-repeat="i in x">
    <!-- this content will repeat for 5 times. -->
    <table class="table table-striped">
      <tr ng-repeat="person in people">
         <td>{{ person.first + ' ' + person.last }}</td>
      </tr>
    </table>
    <p ng-init="x.push(i-1)"></p>
  </div>
</div>

1

কন্ট্রোলারে স্কোপ সেট করুন

var range = [];
for(var i=20;i<=70;i++) {
  range.push(i);
}
$scope.driverAges = range;

এইচটিএমএল টেমপ্লেট ফাইলে পুনরাবৃত্তি সেট করুন

<select type="text" class="form-control" name="driver_age" id="driver_age">
     <option ng-repeat="age in driverAges" value="{{age}}">{{age}}</option>
</select>

1

@ মরমেগিলের সমাধানে উন্নতি

app.filter('makeRange', function() {
  return function(inp) {
    var range = [+inp[1] && +inp[0] || 0, +inp[1] || +inp[0]];
    var min = Math.min(range[0], range[1]);
    var max = Math.max(range[0], range[1]);
    var result = [];
    for (var i = min; i <= max; i++) result.push(i);
    if (range[0] > range[1]) result.reverse();
    return result;
  };
});

ব্যবহার

<span ng-repeat="n in [3, -3] | makeRange" ng-bind="n"></span>

3 2 1 0 -1 -2 -3

<span ng-repeat="n in [-3, 3] | makeRange" ng-bind="n"></span>

-3 -2 -1 0 1 2 3

<span ng-repeat="n in [3] | makeRange" ng-bind="n"></span>

0 1 2 3

<span ng-repeat="n in [-3] | makeRange" ng-bind="n"></span>

0 -1 -2 -3


1

আমি নিম্নলিখিতটি চেষ্টা করেছিলাম এবং এটি আমার পক্ষে ঠিক কাজ করেছে:

<md-radio-button ng-repeat="position in formInput.arrayOfChoices.slice(0,6)" value="{{position}}">{{position}}</md-radio-button>

কৌণিক 1.3.6


1

পার্টিতে লে। তবে আমি এই কাজটি শেষ করেছি:

আপনার নিয়ামক মধ্যে:

$scope.repeater = function (range) {
    var arr = []; 
    for (var i = 0; i < range; i++) {
        arr.push(i);
    }
    return arr;
}

এইচটিএমএল:

<select ng-model="myRange">
    <option>3</option>
    <option>5</option>
</select>

<div ng-repeat="i in repeater(myRange)"></div>

1

এটি জাজমের উন্নত উত্তর (আমি অন্য কোনও মন্তব্য করতে পারি না আমি তার উত্তরটি মন্তব্য করব কারণ সে ত্রুটি অন্তর্ভুক্ত করেছিল)। ফাংশনটির একটি সূচনা / শেষ পরিসীমা মান রয়েছে, সুতরাং এটি আরও নমনীয় এবং ... এটি কাজ করে। এই বিশেষ কেসটি মাসের দিনের জন্য:

$scope.rangeCreator = function (minVal, maxVal) {
    var arr = [];
   for (var i = minVal; i <= maxVal; i++) {
      arr.push(i);
   }
   return arr;
};


<div class="col-sm-1">
    <select ng-model="monthDays">
        <option ng-repeat="day in rangeCreator(1,31)">{{day}}</option>
    </select>
</div>

0

আমি এটিকে বেত্রাঘাত করেছি এবং দেখেছি এটি কারওর জন্য কার্যকর হতে পারে। (হ্যাঁ, কফিস্ক্রিপ্ট। আমার বিরুদ্ধে মামলা করুন))

নির্দেশিকা

app.directive 'times', ->
  link: (scope, element, attrs) ->
    repeater = element.html()
    scope.$watch attrs.times, (value) ->
      element.html ''
      return unless value?
      element.html Array(value + 1).join(repeater)

ব্যবহার করা:

এইচটিএমএল

<div times="customer.conversations_count">
  <i class="icon-picture></i>
</div>

এটি কি আরও সহজ পেতে পারেন?

আমি ফিল্টারগুলি সম্পর্কে সতর্ক থাকি কারণ কৌনিক সমস্ত সময় অকারণে অকারণে তাদের পুনরায় মূল্যায়ন করতে পছন্দ করে এবং আপনার মতো হাজার হাজার লোক যদি আমার মতো করে থাকে তবে এটি একটি বিশাল বাধা।

এই নির্দেশিকাটি এমনকি আপনার মডেলটির পরিবর্তনের জন্যও নজর রাখবে এবং সেই অনুযায়ী উপাদানটি আপডেট করবে।


এটি দুর্দান্ত, তবে এনজিআরপিট এটি নিজস্ব স্কোপিং বজায় রাখে। সুতরাং আপনাকে যুক্ত প্রতিটি আইটেমের জন্য সংকলন চালাতে হবে। আপনার এছাড়াও অ্যানিমেশনগুলি অনুকরণ করতে হবে যেহেতু এনজিপিপিটি এটি আপনার জন্য করে।
matsko

2
অবদানের জন্য ধন্যবাদ, তবে ধরে নিলাম যে ওপি কফিসিপিটি জানে, এটি কী, এটি কীভাবে জেএস-এ সংকলন করতে পারে, বা এর মতো কোনও বিল্ড সরঞ্জামগুলি কখনও ব্যবহার করে না a আমরা সকলেই এখানে শিখতে বা সহায়তা করতে এসেছি, সুতরাং অতিরিক্ত মাইল যেতে, সেই কুকুরছানাটিকে রূপান্তর করুন। (আপনার বিরুদ্ধে মামলা করা হয়েছে!)
অগি গার্ডনার

0
<div ng-init="avatars = [{id : 0}]; flag = true ">
  <div ng-repeat='data in avatars' ng-if="avatars.length < 10 || flag"
       ng-init="avatars.length != 10 ? avatars.push({id : $index+1}) : ''; flag = avatars.length <= 10 ? true : false">
    <img ng-src="http://actual-names.com/wp-content/uploads/2016/01/sanskrit-baby-girl-names-400x275.jpg">
  </div>
</div>

আপনি যদি কোনও নিয়ামক বা কারখানা ছাড়াই এইচটিএমএল এ অর্জন করতে চান।



-8

এটি সহজতম বৈকল্পিক: কেবল পূর্ণসংখ্যার অ্যারে ব্যবহার করুন ....

 <li ng-repeat="n in [1,2,3,4,5]">test {{n}}</li>


3
এটা ভয়াবহ।
টিফানি লো 3

@ স্টেফান, আপনি সম্ভবত ডাউনভোটগুলি গ্রহণ করছেন কারণ সমাধানটি হার্ড-কোডেড সংগ্রহগুলি ব্যবহার করতে পারে না।
তাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.