Мне нужно установить объект $ scope в теге select HTML AngularJS, я четко объясню свое требование:
Вот мой код скрипта angularjs:
$scope.departments = $http.get("getDepartmentList");
В области отдела я получаю список объектов отдела из контроллера Spring mvc, который извлекается из базы данных.
Этот раздел области я буду использовать в html select as
<select name="department"
ng-model="department"
class="form-control"
ng-options="department as department.deptName for department in departments"
class="select_form" >
option
value="">Select Department</option>
</select>
При создании я могу получить объект отдела после выбора из списка выбора. Во время модификации у меня будет один объект отдела, который нужно установить и выбрать в списке выбора, но он не выбран, только список объектов указан без выбора измененного объекта во время модификации.
Во время модификации я задал объем отдела как
$scope.department = $http.get("getDepartmentById);
Таким образом, приведенный выше код будет иметь один объект отдела в области видимости, но он не выбран в списке
Я попытался использовать ng-значение в теге select как
<select name="department"
ng-model="department"
class="form-control"
ng-options="department as department.deptName for department in departments"
ng-value="department"
class="select_form" >
<option value="">Select Department</option>
</select>
Но бесполезно, может кто-нибудь помочь установить объект из списка выбора на странице html.
В AngularJS $http
это сервис, который возвращает обещание. Он запускается асинхронно, и затем вы используете его возвращаемые значения (или исключения), когда они обрабатываются.
Как взято из документов, API $ http основан на API-интерфейсах отложенных/обещаний, открытых службой $ q.
В настоящее время вы назначаете обещание $scope.departments
, это не то, что вы хотите, вам нужно назначить ему данные, которые разрешены в ответе от вашего контроллера пружины.
Ниже приведен пример использования службы $ http:
// make your request to your spring mvc controller path
$http.get("getDepartmentList").then(function(response) {
// set the data from the response data object
$scope.departments = response.data
}, function(error) {
// handle any errors that may occur
});
И для вашего единственного отдела (я предполагаю, что вы можете установить его как выбранный):
// again, make your request to your spring mvc controller path
// but this time you should perhaps include an id parameter
$http.get("getDepartmentById?id=").then(function(response) {
// set the data from the response data object
$scope.department = response.data
}, function(error) {
// again, handle any errors that may occur
});