উত্তর:
"প্রতিটি" ট্যাগ একটি "অন্য" বিভাগও নিতে পারে। তাই সহজ ফর্মটি হ'ল:
{{#each items}}
// render item
{{else}}
// render empty
{{/each}}
আপনার যদি এমন কিছু থাকে যা আপনি একবারে প্রদর্শন করতে চান এবং কেবল অ্যারেতে ডেটা থাকলে তা ব্যবহার করুন
{{#if items.length}}
//Render
{{/if}}
.length
খালি অ্যারেগুলির জন্য 0 প্রদান করবে যাতে আমরা একটি সত্য মিথ্যা মান অর্জন করেছি।
<ul>
একবার একটি <li>
ট্যাগ এবং একটি ট্যাগ রেন্ডার করতে চাই । যদি তালিকাটি খালি থাকে তবে আমি এমনকি <ul>
রেন্ডার করতে চাই না , এবং এর <p>empty list<p>
অভ্যন্তরের মতো অন্য কোনও কিছু উপস্থাপন করার <ul>
কোনও অর্থ হয় না।
[]
মিথ্যা হিসাবে মূল্যায়ন করা হয়। @ ড্রেজসি-র উত্তর হ্যান্ডেলবারের নির্দিষ্টকরণের দ্বারা সঠিক উত্তর।
ঠিক আছে, আমি যা ভাবি তার চেয়ে সহজ:
{{#if items}}
// render items
{{#each items}}
// render item
{{/each}}
{{else}}
// render empty
{{/if}}
items
খালি অ্যারে হয় (অর্থাত্ এর মান থাকে []
) তবে এটি সত্যবাদী মান উত্পন্ন করবে। যেখানে items.length
খালি অ্যারের জন্য একটি ভুয়া মান উত্পাদন করে। দেখুন @ ডুয়ান এর উত্তর ।
if
, কিন্তু handlebars ডকুমেন্টেশন খুব স্পষ্ট: "তার যুক্তি আয় তাহলে false
, undefined
, null
, ""
, 0
, অথবা []
, handlebars ব্লক রেন্ডার হবে না।" আমার আগে ডক্সটি পরীক্ষা করা উচিত ছিল।
আপনি যদি কোনও সংগ্রহ (কার্সার) খালি কিনা তা পরীক্ষা করতে চান তবে আগের উত্তরগুলি কার্যকর হবে না, পরিবর্তে আপনাকে অবশ্যই এই count()
পদ্ধতিটি ব্যবহার করতে হবে :
{{#if items.count}}
<p>There is {{items.count}} item(s).</p>
{{else}}
<p>There is nothing</p>
{{/if}}
যে কারও জন্য if if # আইফ}} এর উপরে একটি ea op #each} use ব্যবহার করা প্রয়োজন (যেমন লুপের জন্য একটি যদি লুপ থাকে)। তারা অ্যারে তিনটি পৃথক তালিকা আছে।
যদি একটি বিবৃতিটির ভিতরে একটি অনুসন্ধান ব্যবহার আমার জন্য সমস্যাটি সমাধান করে। হিসাবে, উপরের উত্তরগুলি আমার সমস্যাটির সমাধান করেনি।
এখানে আমার কোড,
{{#each OtherRandomItems}}
{{this}}
{{lookup ../AnotherRandomItems @index}}
{{#if (lookup ../RandomItems @index)}}
// render items
{{else}}
// render empty
{{/if}}
{{/each}}
#each
মতো<ul>
(<li>
ভিতরে থাকা), আপনি চান না যে শূন্য অবস্থাটি দ্বারা মোড়ানো হোক<ul>
।