我是 AngularJS 的初学者。我使用 $resource 服务根据其id从服务器获取类型为 person 的特定对象,以便更新此对象。
资源服务:
moduleName.factory('Person', function ($resource) {
return $resource('/application/person/:id', {}, {
show: { method: 'GET' , params: {id: '@id'}},
});
});
我收到并使用 {{}} 在我的浏览器中显示的对象是:
{
"id": "560cf96ee85532035928889e",
"firstName": "Christiane",
"gender": "Male",
"flight": {
"id": null,
"arrivalDate": "2015-01-05 11:30",
"arrivalAirport": {
"name": "Frankfurt"
},
"stopovers": []
}
}
在此表单中,我有一个包含 Airport 列表的下拉列表,我希望将在此下拉列表中选择到达机场的值,但未选择任何值,我尝试在 AngularJs 控制器中设置此下拉列表的选定值这个视图。在设置这个对象的值之前,我尝试通过控制器内的这段代码访问它们的值。
moduleName.controller('PersonDetailController',function ($scope, $routeParams, Person,$location) {
$scope.person = Person.show({id: $routeParams.id});
console.log($scope.person.flight.arrivalAirport);
});
当我想获取嵌套在 person对象中的对象flight.arrivalAirport的值时,我收到了这个错误。
TypeError:无法读取未定义的属性“arrivalAirport”
如何显示在下拉列表中选择的正确值以及如何访问其他对象(如stopovers数组)以更新其值?
谢谢你。