У мене є поле введення, де дозволено лише додатні числа.
<input id="charge-hours" type="text" class="charge-position-hours-edit" placeholder="0" ng-model="charge.hours">
Як контролювати налаштування ng-моделі.
Я б хотів написати попередню умову перед значенням, встановленим у області. Щось на зразок
$scope.precondition = function (value) {
if (!isNan(value)) {
$scope.value=value;
}else{
//do nothing
}
}
Чи можливо це у javascript / angularjs? У Джейві був би сетер для цього.
РЕДАГУВАТИ
Моє запитання було недостатньо зрозумілим.
Я дуже хочу, щоб у полі введення вводилися лише додатні числа, і лише позитивні числа повинні бути прив’язані до ng-моделі angularjs.
Чи є спосіб зберегти старий Value, якщо я використовую ng change? Тоді я можу написати щось на кшталт
if (condition===true) //ok
else $scope.value=oldValue;
Відповіді:
0 для відповіді № 1якщо ваша проблема полягає в тому, щоб переконатися, що значення є цілим і позитивним, ви можете використовувати HTML5 для перевірки цього.
Перевірте це посилання номер.
Щоб підтвердити номер, ви можете використовувати ng-change директива для управління ним, якщо ви хочете більше використовувати контроль ng-клавіш.
Також розгляньте "користувальницька перевірка"частина документації з angularjs - так само, як зазначив Патрік Феррейра.
-1 для відповіді № 2
Спробуйте це:
<input id="charge-hours" type="text" class="charge-position-hours-edit" placeholder="0" ng-model="charge.hours" ng-change="precondition()">