ความแตกต่างที่ลึกซึ้ง แต่สำคัญอย่างหนึ่งคือวิธีที่ขอบเขตไลบรารีสองแนวทางเข้าใกล้ หนวดจะกลับไปสู่ขอบเขตพาเรนต์หากไม่พบตัวแปรภายในบริบทปัจจุบัน แฮนด์บาร์จะส่งคืนสตริงว่าง
นี่เพิ่งจะพูดถึงใน GitHub README ซึ่งมีหนึ่งบรรทัดสำหรับมัน:
แฮนด์บาร์เบี่ยงเบนจากหนวดเล็กน้อยซึ่งจะไม่ทำการค้นหาแบบเรียกซ้ำโดยค่าเริ่มต้น
อย่างไรก็ตามตามที่ระบุไว้ที่นั่นมีการตั้งค่าสถานะเพื่อให้ Handlebars ทำงานในลักษณะเดียวกับหนวด - แต่มันมีผลต่อประสิทธิภาพการทำงาน
สิ่งนี้มีผลกับวิธีที่คุณสามารถใช้#
ตัวแปรเป็นเงื่อนไข
ตัวอย่างเช่นในหนวดคุณสามารถทำสิ่งนี้:
{{#variable}}<span class="text">{{variable}}</span>{{/variable}}
โดยทั่วไปหมายถึง "ถ้ามีตัวแปรอยู่และเป็นความจริงให้พิมพ์ span ด้วยตัวแปรที่อยู่ในนั้น" แต่ใน Handlebars คุณจะต้อง:
- ใช้
{{this}}
แทน
- ใช้พา ธ พาเรนต์
{{../variable}}
เพื่อกลับไปยังขอบเขตที่เกี่ยวข้อง
- กำหนด
variable
ค่าลูกภายในvariable
วัตถุแม่
รายละเอียดเพิ่มเติมเกี่ยวกับเรื่องนี้ถ้าคุณต้องการให้พวกเขาที่นี่