Rumah  >  Artikel  >  hujung hadapan web  >  Bolehkah saya Menggunakan Operator Logik Seperti "OR" dalam Handlebars.js {{#if}} Conditionals?

Bolehkah saya Menggunakan Operator Logik Seperti "OR" dalam Handlebars.js {{#if}} Conditionals?

Linda Hamilton
Linda Hamiltonasal
2024-11-13 16:27:02117semak imbas

Can I Use Logical Operators Like

Menggunakan Operator Logik dalam Handlebars.js {{#if}} Conditionals

Handlebars.js menyediakan {{#if}} yang berkuasa pengendali bersyarat untuk memberikan kandungan secara bersyarat berdasarkan ungkapan yang diberikan. Walau bagaimanapun, pengendali standard hanya menyokong syarat kebenaran/palsu yang mudah. Ini mengehadkan keupayaannya untuk menyatakan perhubungan logik yang lebih kompleks.

Masalah:

Adakah mungkin untuk memasukkan pengendali logik, seperti OR (||), ke dalam bar hendal .js {{#if}} bersyarat operator?

Jawapan:

Walaupun handlebars.js tidak menyokong operator logik secara asli dalam operator bersyaratnya, adalah mungkin untuk mencapai fungsi ini dengan menggunakan pembantu blok. Pembantu blok ialah fungsi tersuai yang boleh didaftarkan dengan bar hendal untuk melanjutkan fungsinya.

Begini cara anda boleh mendaftarkan pembantu blok bernama 'ifCond' untuk mengendalikan keadaan logik:

Handlebars.registerHelper('ifCond', function(v1, v2, options) {
  if(v1 === v2) {
    return options.fn(this);
  }
  return options.inverse(this);
});

Pembantu ini menyemak sama ada dua nilai, v1 dan v2, adalah sama. Jika ya, ia mengembalikan kandungan blok 'benar' (options.fn). Jika tidak, ia mengembalikan kandungan blok 'false' (options.inverse).

Untuk menggunakan pembantu ini dalam templat anda, hanya panggilnya dengan nilai yang ingin anda bandingkan:

{{#ifCond v1 v2}}
    {{v1}} is equal to {{v2}}
{{else}}
    {{v1}} is not equal to {{v2}}
{{/ifCond}}

Ini akan mengeluarkan satu daripada dua blok berdasarkan sama ada v1 dan v2 adalah sama atau tidak.

Semasa menggunakan pembantu blok untuk mencapai fungsi ini mungkin tidak sejajar dengan falsafah Handlebars, ia menyediakan cara untuk melanjutkan keupayaannya dan mengendalikan perhubungan logik yang kompleks dalam templat anda.

Atas ialah kandungan terperinci Bolehkah saya Menggunakan Operator Logik Seperti "OR" dalam Handlebars.js {{#if}} Conditionals?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn