No VueJS, podemos adicionar ou remover um elemento DOM usando v-if:
<button v-if="isRequired">Important Button</button>
mas existe uma maneira de adicionar / remover atributos de um elemento dom, por exemplo, para o seguinte definir condicionalmente o atributo obrigatório:
Username: <input type="text" name="username" required>
por algo semelhante a:
Username: <input type="text" name="username" v-if="name.required" required>
Alguma ideia?
null
, undefined
ou false
” , que é diferente de um script JS avaliar como false. Isso significa que uma string vazia é falsa em JavaScript, mas ainda adicionaria o atributo ao DOM. Para evitar isso você pode tentarv-bind:name="name || false"
false
ao componente filho por meio de um prop?
'false'
. Em outros casos, quando você precisa controlar a presença de atributo html não booleano no elemento, você pode usar a renderização condicional v-if
como sugerido aqui: github.com/vuejs/vue/issues/7552#issuecomment-361395234
attribute
mas NÃO prop
. Podemos passar com segurança explícito false
por meio de uma propriedade de componente, mas NÃO de um atributo (que não é reconhecido como uma propriedade). Estou correcto?