AngularJS: ng-placeholder не работает
У меня есть следующий элемент ввода html, который я хочу изменить заполнитель в зависимости от того, что удерживается в моей модели пользователя.
<input type="text" class="form-control" id="Username" name="Username" data-ng-model="user.Username" required="" ng-placeholder="{{user.AdAccount ? 'Username' : 'Ad Login'}}">
Я даже пробовал этот метод, который, как говорят, работал в предыдущих версиях angular, но не удался.
ng-placeholder="user.AdAccount == true && 'Username' || 'AD Login'"
В настоящий момент мой заполнитель просто выглядит совершенно пустым. Я также знаю, что AdAccount корректно держит true/false, потому что он используется в другом месте формы с ng-show.
Ответы
Ответ 1
Я не думаю, что существует какая-либо директива ngPlaceholder. Попробуйте изменить свой код на:
<input type="text" class="form-control" id="Username" name="Username" data-ng-model="user.Username" required="" placeholder="{{user.AdAccount ? 'Username' : 'Ad Login'}}" />
То есть, измените ng-placeholder
на просто placeholder
, и все должно работать нормально.
(Обратите внимание также на самозакрывающуюся косую черту, если вам нужно соответствовать действующему XHTML.)
Ответ 2
Вы можете попробовать это:
<input type="text" class="form-control" id="Username" name="Username" data-ng-model="user.Username" required="" ng-attr-placeholder="{{user.AdAccount ? 'Username' : 'Ad Login'}}">
ng-attr-
будет работать с любым атрибутом HTML.
Ответ 3
В HTML:
<input type="text" placeholder="{{doctorname ? doctorname : 'Dr. your name'}}"
class="editable-class" ng-model="doctor.name" readonly/>
В контроллере:
$scope.doctorname = $scope.doctorinfo.name;