我无法访问angularjs中的javascript对象属性。
我有以下html来显示一个下拉列表,其中所有省份都是从角度http-call加载的:
$http.get("http://myRestUrl/province").then(function(response)
{
$scope.provinces = angular.fromJson(response.data);
});
<select class="form-control" ng-model="selectedProvince">
<option value="" selected>Bundesland auswählen</option>
<option ng-repeat="province in provinces" value="{{province}}">
{{province.name}}
</option>
</select>
{{selectedProvince}} <!-- Output the Object -->
{{selectedProvince.cities}} <!-- Output nothing -->
省对象看起来像这样:
{"id":1,"name":"North Rhine-Westphalia","nation":{"id":1,"name":"Germany"},"cities":
[{"id":1,"name":"Münster","province":{"id":1,"name":"North Rhine-Westphalia"}},
{"id":2,"name":"Rinkerode", "province":{"id":1,"name":"North Rhine-Westphalia"}}]}
访问{{selectedProvince.name}}
或任何其他属性也是空的结果。
selectedProvince在$ scope中定义!
有人知道如何访问这些数据吗?
答案 0 :(得分:0)
value="{{province}}"
将无法正常工作,因为它会将整个对象渲染为字符串。
对于非字符串值,您需要查看ng-options
。
这应该适合你:
<select class="form-control" ng-model="selectedProvince"
ng-options="province.name for province in provinces">
<option value="" selected>Bundesland auswählen</option>
</select>