1

我对 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 开始的。

感谢所有帮助

4

0 回答 0