У меня есть следующий код:Почему требуется ng-требуемое значение ng-модели?
<input id="bestCost" name="bestCost" ng-model="vm.active.bestCost" ng-required="vm.active.funded == true" />
У меня есть метод в мой контроллер, который устанавливает vm.active = null
. Это значение остается равным нулю, пока я не закрою асинхронный запрос. После того, как запрос уволен, Angular запускает дайджест. В результате к тому моменту, когда выполняется обработчик успеха асинхронного обещания, vm.active
больше не является нулевым. Это объект с bestCost в нуль:
Object {bestCost: null}
Ни один из моих других привязок шаблона не сделать это, только это поле. Единственное отличие между другими полями формы и этим заключается в том, что у него есть директива ng-required
.
Есть ли способ предотвратить это? Я понимаю, что Angular будет изящно создавать иерархию объектов для полей форм/привязок, когда пользователь вводит их, но я действительно не хочу, чтобы директива ng-required
сделала это.
'vm', как правило, что вы используете внутри контроллер. Является ли ваш 'controllerAs' определенным как' vm'? – Makoto
Да, внутри контроллера У меня есть 'var vm = this;' У меня также есть 'controllerAs' для' vm' – spoof3r
@Makoto Angular в какой-то момент используется 'controllerAs vm' на своих страницах документации так, что' vm' будет используется в представлении, поскольку OP делает ... –