নকআউটজেএস ধারকবিহীন বাঁধাই সিনট্যাক্স
দয়া করে আমার সাথে এক সেকেন্ড সহ্য করুন: নকআউটজেএস বাঁধাইয়ের ডকুমেন্টেশনের foreachনোট 4-তে আলোচিত হিসাবে তার বাঁধার জন্য একটি ধারকহীন বাঁধাই সিনট্যাক্স ব্যবহার করার একটি অতি-সুবিধাজনক বিকল্প প্রস্তাব করে foreach।
http://knockoutjs.com/docamentation/foreach-b बाइंड। html
নকআউট ডকুমেন্টেশনের উদাহরণটি যেমন চিত্রিত করেছে, আপনি নাকআউটজেএস-এ আপনার বাঁধাইটি লিখতে পারেন:
<ul>
<li class="header">Header item</li>
<!-- ko foreach: myItems -->
<li>Item <span data-bind="text: $data"></span></li>
<!-- /ko -->
</ul>
আমি মনে করি এটি বরং দুর্ভাগ্যজনক AngularJS এই ধরণের সিনট্যাক্স সরবরাহ করে না।
কৌণিক ng-repeat-startএবংng-repeat-end
ng-repeatসমস্যাগুলি সমাধান করার জন্য কৌণিক জেএস পদ্ধতিতে, আমি যে নমুনাগুলিটি দেখতে পাই সেগুলি হ'ল তার (সহায়ক) উত্তরে পোস্ট করা ধরণের ঝ্মনগসন।
<li ng-repeat-start="page in [1,2,3,4,5]"><a href="#">{{page}}</a></li>
<li ng-repeat-end></li>
এই বাক্যবিন্যাসটি দেখার পরে আমার মূল চিন্তাটি: সত্যই? কেন এঙ্গুলার এই সমস্ত অতিরিক্ত মার্কআপকে বাধ্য করছে যে আমি কিছুই করতে চাই না এবং এটি নকআউটে এত সহজ? তবে তারপরে হিমিউডোডাস্ট্রাক্টর মন্তব্যে জ্যামাগনসনের উত্তরে আমার অবাক হওয়া শুরু হয়েছিল: এনজি-রিপিট-স্টার্ট এবং এনজি-রিপিট-এন্ড পৃথক ট্যাগের সাথে কী উত্পন্ন হচ্ছে?
ব্যবহারের একটি পরিষ্কার উপায় ng-repeat-startএবংng-repeat-end
হাইটাটোডস্ট্রাক্টের দৃser় তদন্তের পরে, ng-repeat-endএকটি পৃথক ট্যাগে যুক্ত করা ঠিক আমার মতো বেশিরভাগ ক্ষেত্রে করতে চাই না , কারণ এটি একেবারে অকেজো উপাদানগুলি তৈরি করে: এই ক্ষেত্রে <li>আইটেমগুলির মধ্যে কিছুই নেই। বুটস্ট্র্যাপ 3 এর পৃষ্ঠাযুক্ত তালিকা তালিকাগুলি স্টাইল করে যাতে দেখে মনে হয় যে আপনি কোনও অতিরিক্ত অতিরিক্ত আইটেম উত্পন্ন করেন নি, তবে আপনি যখন উত্পন্ন এইচটিএমএল পরিদর্শন করেন তখন সেগুলি সেখানে থাকে।
ভাগ্যক্রমে , আপনার একটি ক্লিনার সমাধান এবং কম সংখ্যক এইচটিএমএল পাওয়ার জন্য খুব বেশি কিছু করার দরকার নেই: কেবলমাত্র ng-repeat-endএকই HTML ট্যাগটিতে এই ঘোষণাটি রাখুনng-repeat-start ।
<ul class="pagination">
<li>
<a href="#">«</a>
</li>
<li ng-repeat-start="page in [1,2,3,4,5]" ng-repeat-end><a href="#"></a></li>
<li>
<a href="#">»</a>
</li>
</ul>
এটি 3 সুবিধা দেয়:
- কম html ট্যাগ লিখতে
- অকেজো, খালি ট্যাগ কৌণিক দ্বারা উত্পাদিত হয় না
- যখন পুনরাবৃত্তি করার অ্যারেটি খালি থাকে, তখন ট্যাগটি
ng-repeatউত্পন্ন হয় না, নাকআউটের ধারকহীন বাঁধাই আপনাকে একই সুবিধা দেয়
তবে এখনও একটি পরিষ্কার উপায় আছে
আরও কৌণিক জন্য এই বিষয়ে GitHub মন্তব্য পর্যালোচনার পরে https://github.com/angular/angular.js/issues/1891 ,
আপনি ব্যবহার করতে প্রয়োজন হবে না ng-repeat-startএবং ng-repeat-endএকই সুবিধা অর্জন করা। পরিবর্তে, আবার jmagnusson এর উদাহরণ জালিয়াতি, আমরা কেবল যেতে পারেন:
<ul class="pagination">
<li>
<a href="#">«</a>
</li>
<li ng-repeat="page in [1,2,3,4,5,6]"><a href="#">{{page}}</a></li>
<li>
<a href="#">»</a>
</li>
</ul>
তাহলে কখন ব্যবহার করবেন ng-repeat-startএবং ng-repeat-end? অনুযায়ী কৌণিক ডকুমেন্টেশন , এর
... কেবলমাত্র একটি প্যারেন্ট উপাদানগুলির পরিবর্তে কয়েকটি সিরিজের উপাদানগুলি পুনরাবৃত্তি করুন ...
যথেষ্ট আলাপ, কিছু উদাহরণ দেখান!
যথেষ্ট ফর্সা; এই জেসবিন আপনি যখন করেন এবং যখন আপনি ng-repeat-endএকই ট্যাগ ব্যবহার করেন না তখন কী ঘটে তার পাঁচটি উদাহরণ দিয়ে যায় ।