วิธีการส่งค่าสตริงไปยังส่วนประกอบในเชิงมุม 2


86

ฉันต้องการส่งค่าสตริงไปยังส่วนประกอบใน angular2 แต่ใช้ไม่ได้กับการโยงเริ่มต้น ฉันกำลังคิดอะไรบางอย่างที่คล้ายกับสิ่งนี้:

<component [inputField]="string"></component>

น่าเสียดายที่อนุญาตให้ใช้นิพจน์ทางด้านขวาของงานเท่านั้น มีวิธีทำไหม?

คำตอบ:


175

ตัวอักษรสตริงสามารถส่งผ่านได้หลายวิธี:

<component inputField="string"></component>
<component [inputField]="'string'"></component>
<component inputField="{{'string'}}"></component>

1
มีความแตกต่างระหว่างสิ่งเหล่านี้หรือไม่? เช่น Angular จะสร้าง "การผูก" ในสองกรณีสุดท้ายหรือว่าฉลาดพอ?
Alexander Abakumov

Angular ฉลาดพอ เฉพาะรายการแรกเท่านั้นที่จะมองเห็นได้ใน DOM
GünterZöchbauer

1
ขอบคุณ. ฉันส่งผ่านโดยไม่มีเครื่องหมายคำพูดซ้อนและมันก็คืนค่าเป็น NaN: <component [inputField]='string'></component>
Eric Soyke

ในทางเทคนิคฉันจะไม่แนะนำตัวเลือก 1 และ 3 สิ่งนี้จะรวมแอตทริบิวต์และค่าเหล่านั้นในองค์ประกอบองค์ประกอบรวมทั้งองค์ประกอบใด ๆ ภายในองค์ประกอบที่อาจใช้ค่าเหล่านั้น ในตัวอย่างid="example-id"จะส่งผ่านสตริงที่ถูกต้องที่ต้องการอย่างไรก็ตามตอนนี้จะมี 2 องค์ประกอบที่มีidแอตทริบิวต์เดียวกัน ใช้แนวทางนี้อย่างชาญฉลาด ...
mrtpain


3

หากต้องการรวมเครื่องหมายคำพูดเดียว (และอาจเป็นอักขระ HTML พิเศษอื่น ๆ ) ในสตริงลิเทอรัลตัวเลือกแรกจะทำงานในขณะที่ใช้เครื่องหมายคำพูดเดี่ยวเพื่อรวมตัวอักษรล้มเหลวด้วยข้อผิดพลาดในการแยกวิเคราะห์ ตัวอย่างเช่น:

<component inputField="John&#39;s Value"></component>

จะแสดงผล "John's Value" อย่างถูกต้อง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.