我对 Angular 比较陌生,遇到了一个我无法弄清楚我做错了什么的问题。
在我进入编辑记录屏幕之前,一切都会顺利进行。在列表页面(这有效)中,controller1 列出了所有数据。您可以单击要编辑的项目上的编辑。这将加载控制器 2。从那里我无法访问数组中的那个元素。但是,我可以看到整个数组。
我也在从服务中运行我的数据。该应用程序使用 ui 路由,因此$routeParams
已更改为$stateParams
.
代码:返回数据的服务。这部分工作正常,并按应有的方式返回。
.service('attendeeService', function (sfDataProvider) {
var $attendeeDetailList = [];
var $strValue = 'test string';
$attendeeDetailList = sfDataProvider.getAttendeeList();
return {
getAttendees:function () {
return $attendeeDetailList;
},
getString:function () {
return $strValue;
},
addAttendee:function (attendeeName) {
},
deleteAttendee:function (id) {
}
};
Controller1 列出视图中的数组。工作正常
.controller( 'AttendeeCtrl', function AttendeeCtrl( $scope, titleService, attendeeService ) {
titleService.setTitle( 'Attendee Badges' );
$scope.strValue = attendeeService.getString();
$scope.attendeeDetailList = attendeeService.getAttendees();
})
Controller2 - 我可以让 strValue 结转,但无法访问数组中的对象 fullListAttendees 来编辑项目。
.controller( 'AttendeeEditCtrl', function ( $scope, $stateParams, titleService, attendeeService ) {
var $attendeePerson = [];
$scope.fullListAttendees = attendeeService.getAttendees();
$scope.attendeePerson = $scope.fullListAttendees[$stateParams.id];
$scope.strValue = attendeeService.getString();
});
任何想法或想法将不胜感激。我不知道这是否重要,但这是从 ng-boilerplate for angular 开始的。
感谢所有帮助