Угловое использование ng-модель в поле ввода получить ноль
Я знаю, как передать значение из представления в контроллер с помощью ng-model
, В контроллере он просто получает значение из представления, используя этот код $scope.name = this.ngmodelnameinview
,
Обязательно ли использовать ng-model
в поле зрения?
но моя проблема сейчас, у меня есть +
кнопка, которая, когда я нажимаю кнопку, автоматически помещает значение в поле ввода текста.
<button data-ng-click="adultCount = adultCount+1"> + </button>
<input type="text" name="totTicket" value="{{adultCount}}">
но когда я добавляю ng-model
внутри поля ввода возвращает null
<input type="text" name="totTicket" value="{{adultCount}}" ng-model="adultcount">
Как это исправить? Спасибо!
2 ответа
Он дает ноль только потому, что вы установили значение "adultCount", а в ng-модели вы дали другое имя "adultcount" ("c" в нижнем регистре). Обновив ng-модель с "adultCount", решу эту проблему.
JavaScript чувствителен к регистру:
JavaScript чувствителен к регистру и использует набор символов Unicode. 1
Используйте тот же случай для переменной области видимости. Обновите входной атрибут ng-model
чтобы соответствовать переменной - то есть:
<input type="text" name="totTicket" value="{{adultCount}}" ng-model="adultcount">
должно быть:
<input type="text" name="totTicket" value="{{adultCount}}" ng-model="adultCount">
<!-- ^ -->
См. Это продемонстрировано в фрагменте ниже:
angular.module('app', [])
.controller('ctrl', function($scope) {
//adultCount could be initialized here
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
<button data-ng-click="adultCount = adultCount+1"> + </button>
totTicket:
<input type="text" name="totTicket" value="{{adultCount}}">
totTicket (adultCount):
<input type="text" name="totTicket" value="{{adultCount}}" ng-model="adultCount">
</div>
-
1 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Grammar_and_types