W VueJS możemy dodać lub usunąć element DOM za pomocą v-if:
<button v-if="isRequired">Important Button</button>
ale czy istnieje sposób na dodanie / usunięcie atrybutów elementu dom, np. dla następującego warunkowego ustawienia wymaganego atrybutu:
Username: <input type="text" name="username" required>
przez coś podobnego do:
Username: <input type="text" name="username" v-if="name.required" required>
Jakieś pomysły?
null
, undefined
lub false
” , który różni się od skryptu JS oceniającego false. Oznacza to, że pusty łańcuch jest fałszywy w JavaScript, ale nadal dodawałby atrybut do DOM. Aby temu zapobiec, możesz spróbowaćv-bind:name="name || false"
false
komponent podrzędny za pomocą właściwości?
'false'
. W innych przypadkach, gdy chcesz kontrolować obecność atrybutu html niebędącego wartością boolowską w elemencie, możesz użyć renderowania warunkowego v-if
zgodnie z sugestią tutaj: github.com/vuejs/vue/issues/7552#issuecomment-361395234
attribute
ale NIE prop
. Możemy bezpiecznie przekazać jawnie false
poprzez właściwość komponentu, ale NIE atrybut (który nie jest rozpoznawany jako właściwość). Mam rację?