Я пытаюсь изменить значение входного заполнителя с контроллера, но не могу понять, как это сделать.Изменить значение входного заполнителя через модель?
Есть ли способ изменить атрибуты элемента модели?
Я пытаюсь изменить значение входного заполнителя с контроллера, но не могу понять, как это сделать.Изменить значение входного заполнителя через модель?
Есть ли способ изменить атрибуты элемента модели?
Вы можете связать с переменной в контроллере:
<input type="text" ng-model="inputText" placeholder="{{somePlaceholder}}" />
В контроллере:
$scope.somePlaceholder = 'abc';
Поскольку AngularJS не имеют директивы DOM манипуляции как это делает JQuery, правильный способ изменить атрибуты одного элемента будет использовать директиву. С помощью функции ссылки директивы вы имеете доступ как к элементу, так и к его атрибутам.
Приобретая весь ввод внутри одной директивы, вы все равно можете ввести методы модели ng через свойство контроллера.
Этот метод поможет отделить логику ngmodel с помощью заполнителя от контроллера. Если между ними нет никакой логики, вы можете обязательно пойти, как сказал Вагнер-Франциско.
Как уже говорилось, (в JADE)
input(type="text", ng-model="someModel", placeholder="{{someScopeVariable}}")`
И в контроллере Wagner Франциско:
$scope.someScopeVariable = 'somevalue'
@cpburnz - Это похоже на действительную попытку ответить на этот вопрос. Если вам это не нравится, вы должны понизить его, а не отмечать его для удаления. – ArtOfWarfare
Точно такой же ответ, как @Wagner Francisco –
Принятая ответ еще бросил ошибку Javascript в IE для меня (для угловых 1.2, по крайней мере). Это ошибка, но обходной путь заключается в использовании ngAttr подробную на https://docs.angularjs.org/guide/interpolation
<input type="text" ng-model="inputText" ng-attr-placeholder="{{somePlaceholder}}" />
это работает, однако, все выражение виден конечным пользователям для короткой задержки. Вот почему есть ng-привязка. См. Https://docs.angularjs.org/api/ng/directive/ngBind –
Также не работает в IE, вызывая ошибку. Предположительно та же причина, почему syle = "{{}}" не рекомендуется: https://docs.angularjs.org/guide/ie – velochy
@ BùiThanhHải точно, как вы в этом случае используете ng-bind? Получил образец кода? –