Нужна помощь с this. Я пытаюсь заставить Angular сбросить значение моего поля ввода после вызова add control. Это важно, когда дело касается выпадающих прямоугольников. Я хочу, чтобы убрать, что пользователь выбрал после того, как опция была нажата в коллекцию.Сброс формы управления после действия в Угловом
У меня также возникла проблема с user.fName
, обновляя все, что я ранее добавлял в массив users
, но это, вероятно, связано с вышесказанным.
Также вы можете видеть, что я делаю неправильно с ng-show
?
HTML
<div ng-controller="UserController" name="form">
<div ng-show="form.fName.$touched">Hello {{ user.fName }}</div>
<input type="text" name="fName" ng-model="user.fName">
<a ng-click="addUser(user)">Add</a>
<br>
<div ng-repeat="user in users">{{ user }}</div>
</div>
Javascript
function UserController($scope) {
//$scope.user = {
// fName: "Joe",
// lName: "Doe"
//};
$scope.users = [];
$scope.addUser = function (user) {
if($scope.users.indexOf(user) === -1){
$scope.users.push(user);
} else {
// trigger error/notification message
console.log(user, ' already added');
}
user = {}; //clear user
};
}
Это определенно сделало трюк с очисткой поля ввода. Спасибо за быстрый ответ. – iiminov
Пожалуйста, см. Мое редактирование в конце для вашего вопроса ng-show –
'' if ($ scope.users.indexOf ($ scope.user) === -1) {} '' на самом деле должно было использоваться для выборочных боксов , Похоже, я делал что-то глупое с '' ng-show''. Я поправлю свои пути. Спасибо вам за помощь. Мне жаль, что я не смог снова проголосовать за ваш ответ :) – iiminov