HTML предоставляет стандартный атрибут maxlength начиная с версии 4.01. Angular предоставляет директиву ng-maxlength.
Отличие состоит в том, что стандартный подход не позволяет вводить больше, чем max, тогда как метод Angular просто генерирует ошибку проверки.
Почему они решили включить такую директиву? Это не из-за динамического связывания данных maxlength, поскольку поведение несовместимо. Это не из-за совместимости, поскольку она доступна даже в HTML 4.01. Моя единственная догадка заключается в том, что там есть альтернативная парадигма валидации, но это звучит как чрезмерная инженерия.