我有一个ASP.Net WebAPI项目,我从VS运行,以JSON的形式向我的Angular项目提供数据。我通过$ http.get调用从webapi获取数据,如下所示:
function CarController($scope, $http) {
$http.get('http://localhost:1246/api/values')
.success(function (data, status, headers, config) {
$scope.carSet = data;
})
.error(function (data, status, headers, config) {
$scope.error = status;
alert("You be broken buddy!");
});
}
然后carSet被绑定在html中,如下所示:
<!DOCTYPE html>
<html data-ng-app="">
<head>
<title></title>
<script src="scripts/controllers/controller.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.min.js"></script>
</head>
<body>
<div data-ng-controller="CarController">
<select data-ng-model="carSet" onchange="DataChanged()" data-ng-options="c.Color for c in carSet"></select>
</div>
</body>
</html>
一切都很好。我得到了我的清单。第一个条目是空白的,现在可以了。
问题:
当我选择下拉列表中的任何项目时,整个列表将被清除,并且没有更多项目可供选择? Whaaaaat!在这一点上,我显然很沮丧。仅当我使用$ http机制从WebApi检索数据时才会发生此行为。如果我使用$ http.get从文件或其他本地创建的数据存储中检索json数据,则不会发生这种情况。我只需要一个简单的下拉列表,它允许我使用它的选定值来过滤其他数据(另一个数据库调用。)
我会告诉你照片..但这是我的第一篇文章..而且......我不能。
非常感谢任何帮助。感谢。
答案 0 :(得分:3)
将data-ng-model="carSet"
更改为不同的内容,例如data-ng-model="carChosenColor"
它会正常工作。
然后在$scope.carChosenColor
中将存储所选的值。