พารามิเตอร์อ่านใน @ViewChild สำหรับอะไร


คำตอบ:


119

อาจมีหลายอินสแตนซ์ประเภทต่างๆที่เชื่อมโยงกับแท็กองค์ประกอบที่มี#mynameตัวแปรเทมเพลต

สำหรับแต่ละองค์ประกอบจะมีElementRefและViewContainerRef(อาจเป็นอื่น ๆ จากส่วนประกอบหรือคำสั่งที่ใช้กับแท็กนั้น)

ถ้าองค์ประกอบนั้นเป็นส่วนประกอบแสดงว่ามีอินสแตนซ์ของคอมโพเนนต์

นอกจากนี้ยังสามารถใช้คำสั่งเดียวหรือหลายคำสั่งกับองค์ประกอบได้

เมื่อ{read: SomeType}คุณบอกประเภทที่ควรส่งคืนจากองค์ประกอบด้วย#mynameตัวแปรเทมเพลต

หากคุณไม่ได้ระบุreadพารามิเตอร์ให้@ViewChild()ส่งกลับไฟล์

  • ElementRef อินสแตนซ์หากไม่มีการใช้องค์ประกอบหรือไฟล์
  • คอมโพเนนต์อินสแตนซ์ถ้ามี
  • readหากคุณต้องการที่จะได้รับบางสิ่งบางอย่างที่แตกต่างกันที่คุณจำเป็นต้องระบุอย่างชัดเจนโดยใช้

ดูเพิ่มเติมฉันจะเลือกองค์ประกอบในเทมเพลตส่วนประกอบได้อย่างไร


'อาจเป็นคนอื่น ๆ จากส่วนประกอบหรือคำสั่งที่ใช้กับแท็กนั้น': เราจะหารายการประเภทที่เป็นไปได้ทั้งหมดได้อย่างไร
Ghetolay

คำสั่งและส่วนประกอบที่แสดงอยู่ในdirectives: [...]องค์ประกอบปัจจุบันหรือในPLATFORM_DITECTIVESตำแหน่งที่ตัวเลือกตรงกัน คุณสามารถใช้stackoverflow.com/questions/35233572/…เพื่อตรวจสอบแอปพลิเคชันที่ทำงานอยู่
GünterZöchbauer

3
สิ่งนี้รองรับเฉพาะประเภท Angular ที่เชื่อมโยงกับโหนด HTMLElementไม่ใช่หนึ่งในนั้น ElementRefอนุญาตให้เข้าถึง HTMLElement โดยใช้ `ElementRef.nativeElement
GünterZöchbauer

1
ลองทำทุกอย่างและตรวจสอบที่มา Angular2
GünterZöchbauer

1
คุณทำไม่ได้เมื่อองค์ประกอบเป็นส่วนประกอบ คุณสามารถระบุสิ่งที่คุณต้องการได้หากคุณใช้เท่านั้น@ViewChild(... read: ElementRef) ...
GünterZöchbauer
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.