อะไรคือความแตกต่างระหว่าง:
{{::office.name}}
และ
{{office.name}}
ใน angularJS?
อะไรคือความแตกต่างระหว่าง:
{{::office.name}}
และ
{{office.name}}
ใน angularJS?
คำตอบ:
{{::office.name}}
ไวยากรณ์เชิงมุมของ One-Time ผูกพันมีตั้งแต่รุ่น 1.3
นี่คือบล็อกที่ดีอธิบาย
นิพจน์ที่ขึ้นต้นด้วย
::
ถือเป็นนิพจน์ครั้งเดียว นิพจน์แบบครั้งเดียวจะหยุดคำนวณใหม่เมื่อมีเสถียรภาพซึ่งจะเกิดขึ้นหลังจากการสรุปย่อยครั้งแรกหากผลลัพธ์ของนิพจน์เป็นค่าที่ไม่ได้กำหนด (ดูอัลกอริทึมการรักษาเสถียรภาพของค่าด้านล่าง)
ในหลาย ๆ สถานการณ์ค่าจะต้องแสดงในมุมมองเท่านั้นและจะไม่อัปเดตจากมุมมองหรือตัวควบคุม อย่างไรก็ตามหากใช้การเชื่อมสองทาง$digest
จะตรวจสอบการเปลี่ยนแปลงใด ๆ ในนิพจน์ในแต่ละรอบซึ่งไม่จำเป็น ในกรณีเหล่านี้::
ควรใช้ก่อนการแสดงออก ตามที่ระบุไว้ในข้อความข้างต้นสิ่งนี้มีประสิทธิภาพมากกว่าไวยากรณ์การผูกแบบสองทางสำหรับกรณีดังกล่าว
บล็อก: AngularJS ไวยากรณ์การผูกครั้งเดียวจาก@Todd Motto
ในเปลือกถั่วเมื่อเราประกาศค่าเช่น
{{ ::foo }}
ภายใน DOM เมื่อกำหนดค่านี้แล้ว Angular จะแสดงผลเลิกผูกมัดจากผู้เฝ้าดูและลดปริมาณการผูกภายใน$digest
ลูป เรียบง่าย!