প্রতিটি লুপের একটি হ্যান্ডলেবার্স.জেএস এর স্কোপের বাইরে ভেরিয়েবল অ্যাক্সেস করুন


187

আমার কাছে হ্যান্ডেলবার্স.জেএস টেম্পলেট রয়েছে, ঠিক এর মতো:

{{externalValue}}

<select name="test">
    {{#each myCollection}}
       <option value="{{id}}">{{title}} {{externalValue}}</option>
    {{/each}}
</select>

এবং এটি উত্পন্ন আউটপুট:

myExternalValue

<select name="test">
       <option value="1">First element </option>
       <option value="2">Second element </option>
       <option value="3">Third element </option>
</select>

প্রত্যাশিত হিসাবে, আমি আমার নির্বাচন উত্পন্ন করতে প্রতিটি উপাদানগুলির ক্ষেত্র idএবং titleক্ষেত্রগুলিতে অ্যাক্সেস করতে myCollectionপারি। এবং নির্বাচনের বাইরে আমার externalValueভেরিয়েবলটি সঠিকভাবে মুদ্রিত হয় ("মাই এক্সটার্নালভ্যালু")।

দুর্ভাগ্যক্রমে, বিকল্পগুলির পাঠ্যগুলিতে, externalValueমান কখনই মুদ্রিত হয় না।

আমার প্রশ্ন: আমি ল্যান্ডের মধ্য থেকে প্রত্যেকটি হ্যান্ডেলবার্স.জেসের আওতার বাইরে একটি চলক অ্যাক্সেস করতে পারি?

উত্তর:


453

চেষ্টা

<option value="{{id}}">{{title}} {{../externalValue}}</option>

../পথ সেগমেন্ট পিতা বা মাতা টেমপ্লেট সুযোগ থাকা উচিত যে আপনি যা চান তা উল্লেখ।


10
যদি ভবিষ্যতের পাঠকরা এখনও আমার মতো সমস্যায় পড়ে থাকেন তবে এই উত্তরটির জন্য এখানে মন্তব্যটি দেখুন । এই উত্তরটি দেখার পরে আমার কিছুটা সময় লেগেছিল। ../আপনার মূল্য থেকে কত স্কোপ দূরে রয়েছে তার উপর নির্ভর করে আপনার বারবার ব্যবহারের প্রয়োজন হতে পারে ।
বিসিএমসিএফসি

10
আমি কি পাগল নাকি হ্যান্ডেলবার্স ডক্সে এই জাতীয় মূল্যবান তথ্য কোথাও পাওয়া যায়নি ???
জেসি

1
@ স্প্লিটার এই কাজটি অ্যাম্বার হ্যান্ডেলবারগুলিতে করবেন .. মনে হচ্ছে এটি কাজ করছে না
kweku360

1
কোন ধারণা @ kweku360। এটি সাধারণ হাদেলবারগুলির জন্য কাজ করে। হতে পারে যে এম্বার হ্যান্ডেলবারগুলির স্বনির্ধারিত সংস্করণটি ব্যবহার করছে যেখানে এই কার্যকারিতা অন্য কোনও উপায়ে প্রয়োগ করা হয়েছে
বিভাজক

1
আপনাকে ধন্যবাদ মানুষ, এটি ফাউন্ডেশন 6 পানিনিতেও পুরোপুরি কার্যকর।
মার্কো

13

অথবা আপনি এর মতো পরম পথ ব্যবহার করতে পারেন:

<option value="{{id}}">{{title}} {{@root.user.path.to.externalValue}}</option>

1

এই বিষয়ে ডকুমেন্টেশনের জন্য আমি 404 এর সাথে অনেকগুলি লিঙ্ক দেখেছি।

আমি এটির সাথে এটি আপডেট করি, এটি এপ্রিল 12020 এ কাজ করছে :

https://handlebarsjs.com/guide/expressions.html#path-expressions

# সহ ও #each এর মতো কিছু সহায়ক আপনাকে নেস্টেড বস্তুগুলিতে ডুব দেওয়ার অনুমতি দেয়। আপনি যখন নিজের পথে ../ বিভাগগুলি অন্তর্ভুক্ত করবেন তখন হ্যান্ডলবারগুলি পিতামৃত প্রসঙ্গে ফিরে আসবে।

    {{#each people}}
    {{../prefix}} {{firstname}} 
    {{/each}}

যদিও কোনও মন্তব্যের প্রসঙ্গে নামটি মুদ্রিত করা হলেও এটি উপসর্গটি পুনরুদ্ধার করতে মূল প্রসঙ্গে (মূল-বস্তু) ফিরে যেতে পারে।

সতর্কতামূলক

.. / অবরুদ্ধার জন্য সঠিক মানটি যে ব্লকটিকে কল করছে তার সহায়তার ভিত্তিতে পরিবর্তিত হবে। প্রসঙ্গ পরিবর্তিত হলেই .. / ব্যবহার করা আবশ্যক। Of {#each} as এর মতো সহায়তাকারীদের বাচ্চাদের .. / ব্যবহারের প্রয়োজন হবে যখন help {#if} as এর মতো সহায়তাকারীদের বাচ্চারা না করে।

{{permalink}}
{{#each comments}}
  {{../permalink}}

  {{#if title}}
    {{../permalink}}
  {{/if}}
{{/each}}

এই উদাহরণে উপরের সমস্তগুলি একই উপসর্গের মানটি উল্লেখ করে যদিও তারা বিভিন্ন ব্লকের মধ্যে অবস্থিত। হ্যান্ডলবারস 4-এর মতো এই আচরণটি নতুন, প্রকাশের নোটগুলি পূর্বের আচরণের পাশাপাশি মাইগ্রেশন পরিকল্পনার বিষয়ে আলোচনা করে।

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