আপনার পরামর্শের জন্য ধন্যবাদ, আপনি আমাকে সঠিক পথে পেয়েছেন!
আসুন একটি সম্পূর্ণ ব্যাখ্যা জন্য যান:
ডিফল্টরূপে AngularJS http পান ক্যোয়ারী একটি বস্তুকে ফেরত দেয়
সুতরাং আপনি যদি @ অ্যারিল অ্যারে.প্রোটোটাইপ.চাঁক ফাংশনটি ব্যবহার করতে চান তবে আপনাকে প্রথমে বস্তুকে অ্যারেতে রূপান্তর করতে হবে।
এবং তারপরে আপনার কন্ট্রোলারে অংশটি ফাংশনটি ব্যবহার করতে অন্যথায় যদি সরাসরি এনজি- রিপিটে ব্যবহার করা হয়, এটি আপনাকে একটি সংশোধন ত্রুটিতে নিয়ে আসে । চূড়ান্ত নিয়ামক দেখায়:
// Initialize products to empty list
$scope.products = [];
// Load products from config file
$resource("/json/shoppinglist.json").get(function (data_object)
{
// Transform object into array
var data_array =[];
for( var i in data_object ) {
if (typeof data_object[i] === 'object' && data_object[i].hasOwnProperty("name")){
data_array.push(data_object[i]);
}
}
// Chunk Array and apply scope
$scope.products = data_array.chunk(3);
});
এবং এইচটিএমএল হয়ে যায়:
<div class="row" ng-repeat="productrow in products">
<div class="col-sm-4" ng-repeat="product in productrow">
অন্যদিকে, আমি আমার JSON ফাইল থেকে সরাসরি কোনও অ্যারে [] এর পরিবর্তে একটি অ্যারে [] ফিরিয়ে আনার সিদ্ধান্ত নিয়েছি। এইভাবে, নিয়ামক হয়ে যায় (দয়া করে নির্দিষ্ট সিনট্যাক্সটি অ্যারে: নোট করুন ):
// Initialize products to empty list
$scope.products = [];
// Load products from config file
$resource("/json/shoppinglist.json").query({method:'GET', isArray:true}, function (data_array)
{
$scope.products = data_array.chunk(3);
});
এইচটিএমএল উপরের মত একই থাকুন।
অপ্টিমাইজেশান
সাসপেন্সে শেষ প্রশ্নটি হল: কীভাবে জাঙ্ক্রিপ্ট স্ক্রিটের অ্যারে না বাড়িয়ে 100% অ্যাঙ্গুলারজেএস করা যায় ... কিছু লোক যদি আমাদের দেখাতে আগ্রহী হয় যদি এনজি-রিপিট-স্টার্ট এবং এনজি-রিপিট-এন্ডে যাওয়ার উপায় হয় .. . আমি কৌতুহলী ;)
অ্যান্ড্রির সমাধান
@ অ্যান্ড্রুকে ধন্যবাদ, আমরা এখন প্রতিটি তিনটি (বা যে কোনও সংখ্যক) উপাদান বুটস্ট্র্যাপ ক্লিয়ারফিক্স ক্লাস যুক্ত করা বিবিধ ব্লকের উচ্চতা থেকে প্রদর্শন সমস্যার সংশোধন করি।
সুতরাং এইচটিএমএল হয়ে যায়:
<div class="row">
<div ng-repeat="product in products">
<div ng-if="$index % 3 == 0" class="clearfix"></div>
<div class="col-sm-4"> My product descrition with {{product.property}}
এবং আপনার নিয়ামক মুছে ফেলা চুন ফাংশন সহ বেশ নরম থাকে :
// Initialize products to empty list
$scope.products = [];
// Load products from config file
$resource("/json/shoppinglist.json").query({method:'GET', isArray:true}, function (data_array)
{
//$scope.products = data_array.chunk(3);
$scope.products = data_array;
});