En VueJS podemos agregar o eliminar un elemento DOM usando v-if:
<button v-if="isRequired">Important Button</button>pero, ¿hay alguna manera de agregar/eliminar atributos de un elemento dom, por ejemplo, para lo siguiente, establezca condicionalmente el atributo requerido:
Username: <input type="text" name="username" required>por algo similar a:
Username: <input type="text" name="username" v-if="name.required" required>¿Algunas ideas?
Tratar:
<input :required="test ? true : false">Actualización: ha cambiado en Vue 3, vea esta respuesta https://stackoverflow.com/a/64598898
La forma mas simple:
<input :required="test"> // if true <input :required="!test"> // if false <input :required="!!test"> // test ? true : falseLa representación condicional de los atributos cambió en Vue 3. Para omitir un atributo, use null o undefined .
Vista 2:
<div :attr="false"> Result: <div> <div :attr="null"> Result: <div>Vista 3:
<div :attr="false"> Result: <div attr="false"> <div :attr="null"> Result: <div>