Dalam Handlebars.js, pengendali bersyarat standard, {{#if}}, hanya menerima satu syarat boolean. Walau bagaimanapun, pembangun selalunya perlu memasukkan operator logik (DAN, ATAU) ke dalam pernyataan bersyarat mereka. Mari kita terokai jika ini boleh dicapai dalam Handlebars.js.
Walaupun tiada cara langsung untuk menggunakan operator logik dalam {{#if}}, penyelesaian boleh digunakan menggunakan pembantu blok. Dengan mendaftarkan pembantu tersuai, pembangun pada asasnya boleh membuat blok yang meniru gelagat pengendali logik.
Sebagai contoh, untuk melaksanakan pengendali ATAU, kami boleh mentakrifkan pembantu seperti berikut:
Handlebars.registerHelper('ifCond', function(v1, v2, options) { if(v1 === v2) { return options.fn(this); } return options.inverse(this); });
Pembantu ini kemudiannya boleh digunakan dalam templat sebagai:
{{#ifCond v1 v2}} {{v1}} is equal to {{v2}} {{else}} {{v1}} is not equal to {{v2}} {{/ifCond}}
Dengan memanggil pembantu ini dengan yang sesuai parameter, pembangun boleh mensimulasikan tingkah laku operator OR. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa ini adalah penyelesaian dan mungkin tidak mematuhi sepenuhnya falsafah di sebalik enjin templat Handlebars.
Atas ialah kandungan terperinci Bolehkah Operator Logik Digunakan dalam Pernyataan Bersyarat Handlebars.js?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!