В моем раскрывающемся списке по умолчанию используется значение «Нет предпочтений», которое я хочу, но оно остается перезаписанным другими параметрами при загрузке на страницу. Как сохранить значение «Нет предпочтений» в качестве значения по умолчанию.Угловая опция выбора по умолчанию, которая перезаписывается
контакт-form.html:
<p>
<label>Preference</label>
<select id="name" class="form-control" ng-init="" ng-model="contact.teammate" ng-options='contact.id as (contact.firstName + " " + contact.lastName) for contact in contacts'>
<option value="">No Preference</option>
</select>
</p>
app.js:
var app = angular.module("contactsApp", ['ngRoute'])
.config(function($routeProvider) {
$routeProvider
.when("/new/contact", {
controller: "NewContactController",
templateUrl: "contact-form.html",
resolve: {
contacts: function(Contacts) {
return Contacts.getContacts();
}
}
})
.otherwise({
redirectTo: "/"
})
})
.service("Contacts", function($http) {
this.getContacts = function() {
return $http.get("/contacts").
then(function(response) {
return response;
}, function(response) {
alert("Error finding contacts.");
});
}
})
.controller("NewContactController", function($scope, $location, Contacts) {
console.log("Entered new contacts controller");
Contacts.getContacts().then(function(doc) {
$scope.contacts = doc.data;
}, function(response) {
alert(response);
});
});
Я добавил $ scope.contact = ''; $ scope.contact.teammate = ''; но «Без предпочтений» по-прежнему меняются на одно из имен при загрузке. – yellavon
Это потому, что $ scope.contact не определен, поэтому contact.teamate пытается установить значение для teammate team undefined, и это не сработает. Я обновил свой ответ :) –
Добро пожаловать. Рад, что я могу помочь и приветствую Javascript :) –