2

教師が生徒に割り当てた本のタイトルのリストを読み取る AngularJS フロントエンドと REST (Jersey) バックエンドがあります。リストと編集の 2 つのビュー/ページがあります。リストページは、学生名と現在割り当てられている本のタイトルを示す表です。

教師は、生徒に割り当てられたブックを編集することを選択できます。「編集」を選択すると、教師は編集ビュー/ページに移動します。このページには、ライブラリで読むことができる本のタイトルのリストを含むドロップダウンがあり、REST サービス Books.getUnassigned() を呼び出すことによって入力されます。本が生徒に割り当てられると、バックエンドは本のタイトルを未割り当てリストから削除し、割り当て済みリストに追加します (Books.getAssigned())。そのため、編集ページでサービスを呼び出し、現在割り当てられている本のタイトルをその配列にプッシュし、デフォルトを現在の本のタイトルに設定する必要があります。

  <select ng-model="bookToAssign">
                <option ng-repeat="book in available_books" value="{{book}}">{{book}}</option>
  </select>

以下は私のサービスコールです。編集ページが読み込まれると、$rootScope.args.arg には、前のページから編集ページに渡す必要があるすべてのデータを含む json オブジェクトが含まれます - オブジェクトが正しいことが確認されました。

 $scope.available_books= NaiSvc.getUnassignedBooks.query(
        function(data){
            alert('success, got data: ', data);
            if($rootScope.args.arg !=null){
               data.push($rootScope.args.arg);  //verified this gets the right object
                $scope.bookToAssign.setDefault = data[data.length-1];
            }
        }, function(err){
            alert('request failed');
        }
    );

bookToAssign.setDefault を実行しようとすると、関数の成功コールバックで次のエラーが発生します: TypeError: 未定義のプロパティ 'setDefault' を読み取れません。誰かがここで何が起こっているのか教えてもらえますか? 助けに感謝します

4

1 に答える 1