У меня есть кнопка, которая должна управляться на основе того, если пользователь ввел значения на странице html.Включить кнопку отключения от контроллера в angular.js
Я привязал модель к текстовому полю и установил отключенную переменную в области $ scope, которая включена/отключена на значение модели поля ввода.
Вот HTML
<!--This button should be disabled if no value is enterd in both the field-->
<input type='button' value='click' ng-disabled='disabled'>
<br>
<input type="text" ng-model="first">
<br>
<input type="text" ng-model='last'>
А вот correponding угловой контроллер.
angular.module('app', []).controller('myController', function($scope) {
$scope.disabled = !$scope.first || !$scope.last;
})
Он запускается в первый раз, но затем не отображает изменения на основе более поздних модификаций.
В соответствии с моим пониманием угловой использует двустороннюю привязку, поэтому, если я изменяю что-либо в представлении, оно должно отражаться на контроллере, а затем все изменения на контроллере должны отражаться на представлении. Что я здесь делаю?
PS: Я не хочу использовать форму
Я хочу избежать события onChange в поле ввода текста.
Пожалуйста, обратитесь бухнуться http://plnkr.co/edit/L5wkcpNzMMBZxtcitJwk?p=preview
Спасибо за предоставленную надлежащее объяснение. Я был уверен, что ng-change будет работать, как было предложено в другом ответе, но это будет последнее средство, которое я буду искать. – Pankaj
@Pankaj Если вам нужно было сделать что-то еще в случае смены, то вы можете подумать о том, чтобы пойти с ответом Саджетарана. Но для вашего простого случая я бы предпочел не добавлять дополнительную логику к вашему контроллеру. –
Идя по этому подходу, скажем, у меня есть n полей, а не первый и последний, поэтому он добавит длинное выражение для ng-disabled, есть ли хороший чистый способ достичь этого? Снова ng-change - последнее средство – Pankaj