私はAngularに比較的慣れていないので、何が間違っているのか分からないという問題に遭遇しました。
レコードの編集画面に到達するまで、物事はうまくいきます。一覧ページ (これは機能します) から、controller1 はすべてのデータを一覧表示します。アイテムの編集をクリックして編集できます。これにより、controller2 がロードされます。そこから、配列内のその要素にアクセスできません。ただし、配列全体を見ることができます。
サービスからもデータを実行しています。アプリは ui-routing を使用するため$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 から開始されました。
助けてくれてありがとう