मैं handlabars.js के अंदर एक अल्पविराम डालने में सक्षम होना चाहता हूं, उदाहरण के लिए: {{जर्नल \,}} मौजूद प्रत्येक आइटम के लिए अल्पविराम प्रस्तुत करना, इसलिए गैर-मौजूदा कुंजी-मान के कारण बकवास अल्पविराम नहीं होगा जोड़ा। आप सभी को धन्यवाद!

{{#each items}}
 <button class="accordion-button"
     {{#if (equals type "article")}}  {{AUTHOR}} {{TITLE}} {{JOURNAL}}, {{VOLUME}}({{NUMBER}})  {{MONTH}} {{YEAR}}                        {{/if}}
 </button>    
{{/each}}
0
Alexandru Filipescu 21 नवम्बर 2021, 13:46

1 उत्तर

सबसे बढ़िया उत्तर

आप जांच सकते हैं कि JOURNAL मौजूद है या नहीं। फिर इसे और एक अनुगामी अल्पविराम शामिल करें, यदि ऐसा होता है।

{{#if JOURNAL}}{{JOURNAL}}, {{/if}}

आप अपना स्वयं का कस्टम सहायक भी बना सकते हैं:

Handlebars.registerHelper('ifExistAddComma', function (str) {
    return str === undefined ? '' : `${str}, `;
})
{{ifExistAddComma JOURNAL}}

देखें खेल का मैदान

संपादित करें: आप कस्टम परिसीमनकर्ता के साथ किसी भी संख्या में तर्कों को जोड़ने के लिए एक अधिक जटिल (लेकिन अधिक सामान्य) कस्टम सहायक लिख सकते हैं:

Handlebars.registerHelper('join', function (delim, ...args) {
  args.pop() // remove meta information
  return args
    .filter(arg => arg !== undefined) // filter out undefined properties
    .join(delim);
})
{{join ', ' AUTHOR TITLE JOURNAL (join '' VOLUME '(' NUMBER ')') MONTH YEAR}}
author, title, journal, volume(number), month, year

देखें खेल का मैदान

2
Olian04 21 नवम्बर 2021, 16:23
मैं जवाब देने जा रहा था, धन्यवाद: +1
 – 
Abilogos
21 नवम्बर 2021, 13:52
इसके साथ एकमात्र समस्या यह है कि यदि मैं इसे प्रत्येक {{AUTHOR}} {{TITLE}} {{JOURNAL}}, {{VOLUME}}({{NUMBER}}) {{MONTH} } {{YEAR}}, यह बड़े पैमाने पर होगा, लेकिन सुझाव के लिए धन्यवाद!
 – 
Alexandru Filipescu
21 नवम्बर 2021, 13:56
1
आप एक कस्टम सहायक का भी उपयोग कर सकते हैं।
 – 
Olian04
21 नवम्बर 2021, 14:00
आप अविश्वसनीय ओलियन हैं, धन्यवाद !!
 – 
Alexandru Filipescu
21 नवम्बर 2021, 14:07
मुझे पता चला कि दिखाए गए अंतिम तत्व के संबंध में कोई समस्या है, इसमें अल्पविराम भी होगा, क्या इसे अंतिम आइटम होने की जांच करने का कोई तरीका है? धन्यवाद।
 – 
Alexandru Filipescu
21 नवम्बर 2021, 14:24