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