我对angular和html select
有以下问题 - 输入:
当用户加载页面时,我的select
为空,直到数据被加载并从相应的服务返回。
在这种情况下,select
已正确填充。
但是,用户应该能够通过单击按钮来过滤模型。
当我按下按钮时,会向REST-API发送新请求,并且响应包含select
的新模型。
不幸的是,即使我更改了模型<{p>,select
也无法正确更新
以下是一些代码来说明我的问题:
// This happens in my controller
EventService.getAvailableRooms(requestObject).then(function successCallback(response){
// sanatizeRoomTypes is used to generate user-friendly names instead of [1, 2,..]
vm.rooms = DataSanatizer.sanatizeRoomTypes(response.data);
}, function errorCallback(response){
console.log(response)
});
vm.rooms
是我的select
:
<select id="roomSelect" ng-model="eventCtrl.selectedRooms"
ng-options="room.name group by room.type for room in eventCtrl.rooms track by room.id" multiple required>
</select>
在某些情况下,select会复制它的模型或丢失条目。似乎存在某种数据绑定问题。
谢谢,
答案 0 :(得分:0)
尝试在$ scope.apply中包装模型更改:
$scope.$apply(function() {
$scope.data.myVar = "Another value";
});
在此阅读更多信息: http://tutorials.jenkov.com/angularjs/watch-digest-apply.html
您还可以在更改$ scope变量时使用$ scope。$ watch在视图中更新它们。