Ich kann nicht herausfinden, warum der folgende Code nicht funktioniert. Ich befolge die Antwort here und verschiedene andere Tutorials/Antworten, aber die Schaltfläche deaktiviert nicht, wenn die Felder leer sind.
<h3>Add address</h3>
<div ng-include="'app/views/partials/form.html'"></div>
<button ng-click="ctrl.cancelAddress()">Cancel</button>
<button ng-disabled="addressForm.$invalid" class="save-btn" ng-click="ctrl.saveAddress(ctrl.name, ctrl.address, ctrl.country)">Save</button>
app/views/partials/form.html
<form name="addressForm" novalidate>
<input ng-model="ctrl.name" type="text" name="RecipientName" required>
<p ng-show="addressForm.RecipientName.$error.required">Username is required</p>
<input ng-model="ctrl.address" type="text" name="AddressLineOne" placeholder="Address" required>
<p ng-show="addressForm.RecipientName.$error.required">Address is required</p>
<select ng-model="ctrl.country">
<option ng-repeat="country in ctrl.countries" value="{{country.name}}">{{country.name}}</option>
<p ng-show="addressForm.addressCountry.$error.required">Username is required</p>
</select>
</form>
'addressForm' existiert nicht im (äußeren) Bereich, auf den Sie verweisen. Es kann nur innerhalb des ''-Elements referenziert werden, wo es existiert. Sie müssen diese Steuerelemente innerhalb der '
@Amleonard gibt es sowieso darum, da ich verschiedene Aktionen abhängig davon habe, ob ich einen Kontakt bearbeite oder hinzufüge –
Es hängt davon ab, ist Ihr Formular bewusst, ob Sie bearbeiten? Wenn ja, können Sie diese Schaltflächen in das Formular verschieben und dann 'ng-if =" ctrl.isEditing "' verwenden. Natürlich würde "ctrl.isEditing" durch jede andere Methode ersetzt werden, die Sie wissen müssen, wenn Bearbeitungen verfügbar sind. – aaronofleonard