En AngularJs, no se proporciona ng-enabled . ¿Hay alguna razón adecuada para no proporcionar esa directiva en el marco, porque tenemos tanto ng-show como ng-hide cuando solo puede usar ng-hide para lograr nuestro objetivo?
No sería bueno simplemente marcar ng-enabled="attribute.value === true"
en lugar de ng-disabled="!(attribute.value === true)"
aumentará la legibilidad del código.
La razón por la que no hay una directiva ngEnabled en Angular es más bien semántica: simplemente no hay nada que se corresponda con ella en la especificación HTML. Al mismo tiempo, ya existe la directiva ngDisabled que funciona con el atributo disabled . Por la misma razón, no hay una directiva ngUnchecked , porque ya hay ngChecked que establece/elimina el atributo checked .
Ahora, la pregunta razonable: ¿por qué tenemos ngShow y ngHide entonces? Bueno, supongo que es solo por conveniencia en este caso, porque tener ngShow y ngHide no es más confuso que ngShow solo, pero al mismo tiempo es muy útil tener ambos.
No me falta una directiva habilitada para ng y creo que agregaría poco o nada al marco.
Las entradas están habilitadas de forma predeterminada y las entradas HTML tampoco tienen un atributo habilitado, solo deshabilitado. La directiva angular establece el atributo HTML deshabilitado, pero después de evaluar una expresión.
solo puedes escribir
ng-disabled="!atributo.valor"
Creo que es bastante legible.
El equipo central expresó su opinión en este comentario: https://github.com/angular/angular.js/issues/1252#issuecomment-49261373
No aceptarán una solicitud de función solo porque tiene muchos +1-s para mantener el núcleo libre de excesos.
Sin embargo, si aún desea tener la funcionalidad habilitada para ng, btford ha creado este pequeño y práctico módulo solo para usted: https://github.com/btford/angular-enabled