У меня есть следующая угловая форма:Очистить данные в виде угольника
<form name="client_form" id="client_form" role="form">
<div class="bb-entry">
<label for="firstname">First Name:*</label>
<input type="text" name="firstname" ng-model="client.first_name" required class="form-control"/>
</div>
<div class="bb-entry">
<label for="lasttname">Last Name:*</label>
<input type="text" name="lastname" ng-model="client.last_name" required class="form-control"/>
</div>
<div class="bb-entry">
<label for="email">E-mail:*</label>
<input type="email" name="email" ng-model="client.email" required class="form-control"/>
</div>
</form>
<button type="button" ng-click="resetForm(client_form)">Clear</button>
Я хотел бы добавить поведение так, что, когда пользователь выбирает «Очистить», все данные формы очищаются. Я написал этот метод в настоящее время:
resetForm: (form) ->
form.submitted = false
form.$setPristine()
angular.copy({}, client)
Однако это очищает весь объект клиента, когда на самом деле, я только хочу, чтобы очистить атрибуты ссылки в моей форме.
Я понимаю, что я могу перебирать вокруг каждого атрибута объекта формы, который дает мне доступ к экземплярам ngModelController как таковой:
resetForm: (form,) ->
form.submitted = false
form.$setPristine()
angular.forEach form, (value, key) ->
if value.hasOwnProperty("$modelValue")
# set model value here?
Но я могу на самом деле присвоить значение модели здесь или будет другой подход лучше?
Почему не просто '' Это очистит всю форму, а затем, если вам нужно вызвать что-то, когда нажимается, просто используйте 'onclick' – pattyd
Hey @pattyd , который заметно очищает поля формы, но, похоже, не очищает данные в базовой модели? –
Вот почему вам нужно установить 'onclick'. Установите функцию «onclick», чтобы очистить данные – pattyd