ใน VueJS เราสามารถเพิ่มหรือลบองค์ประกอบ DOM โดยใช้ v-if:
<button v-if="isRequired">Important Button</button>
แต่มีวิธีเพิ่ม / ลบแอตทริบิวต์ขององค์ประกอบ dom เช่นสำหรับการตั้งค่าแอตทริบิวต์ที่ต้องการตามเงื่อนไขต่อไปนี้:
Username: <input type="text" name="username" required>
โดยสิ่งที่คล้ายกับ:
Username: <input type="text" name="username" v-if="name.required" required>
ความคิดใด ๆ ?
null
, undefined
หรือfalse
”ซึ่งจะแตกต่างจากสคริปต์ JS ประเมินเป็นเท็จ ซึ่งหมายความว่าสตริงว่างใน JavaScript เป็นเท็จ แต่จะยังคงเพิ่มแอตทริบิวต์ให้กับ DOM เพื่อป้องกันไม่ให้คุณสามารถลองได้v-bind:name="name || false"
false
ไปยังองค์ประกอบย่อยผ่านทางเสาได้อย่างไร
'false'
พยายามที่จะผ่านมันเป็นสตริง ในกรณีอื่น ๆ เมื่อคุณต้องการควบคุมการมีอยู่ของแอตทริบิวต์ html ที่ไม่ใช่บูลีนในองค์ประกอบคุณสามารถใช้การแสดงผลแบบมีเงื่อนไขv-if
ตามที่แนะนำไว้ที่นี่: github.com/vuejs/vue/issues/7552#issuecomment-361395234
attribute
prop
เราสามารถส่งfalse
ผ่านคุณสมบัติที่ชัดเจนได้อย่างปลอดภัยผ่านคุณสมบัติขององค์ประกอบ แต่ไม่ใช่แอตทริบิวต์ (ซึ่งไม่ได้รับการยอมรับว่าเป็นคุณสมบัติ) ฉันถูกไหม?