另一个问题我使用ng-init
但是很少发生,当页面加载我有空白默认选项时,当我clic并选择另一个空白选项disapear时,我该如何删除第一个选项?
代码:
<select ng-change="filtro(selected)" ng-init="selected = Catalogos[0]" ng-model="selected" ng-options="item.Nombre for item in Catalogos">
</select>+
控制器:
function cargarCatalogo() {
apiService.get("../../api/Catalogos/", null,
function (res) {
console.log(res.data);
$scope.Catalogos = res.data;
},
errorCatalogo);
}
答案 0 :(得分:0)
如果你考虑发生了什么的时间,那么在ajax调用返回之前调用ng-init
。因此,您正在设置尚未存在的selected = Catalogos[0]
,因此未定义。然后,当您的ajax调用返回并设置$ scope.Catalogos时,它会将它们加载到选择列表中,但仍然有undefined
作为所选选项。您需要做的就是在ajax回调中简单地说$scope.selected = $scope.Catalogos[0];
,如下所示:
function cargarCatalogo() {
apiService.get("../../api/Catalogos/", null,
function (res) {
console.log(res.data);
$scope.Catalogos = res.data;
$scope.selected = $scope.Catalogos[0];
}, errorCatalogo);
}