4

アイテムのリストをフェッチするサービス、そのリストに対して何かを実行するコントローラー、および各アイテムを反復処理して表示するビューをセットアップしました。

つまり、私の項目は RSS フィードへのリンクであり、コントローラーでこれらの RSS フィードを解析し、ビューが処理するモデル データを設定したいと考えています。

ここで、モデリングにさらにいくつかの変更を加える必要があります (実際の RSS フィード コンテンツをモデル化する必要があります) が、最初の問題は、サービスによってフェッチされたデータがコントローラーで変更できないことです (呼び出しが変更されていないため)。アクセスしようとした時点で終了したと思います)。基本的に、コンソールに書き込むと空の配列になります。

そのため、サービス呼び出しが完了したら、コントローラーでデータ操作をトリガーする方法を知る必要があります。

ありがとう!!// ヨアキム

サービスコード:

angular.module('itemfeedServices', ['ngResource']).
factory('Item', function($resource){
    return $resource('items/:itemId.json', {}, {
        query: {method:'GET', params:{itemId:'items'}, isArray:true}
    });
 });

コントローラーコード:

function ItemListCtrl($scope, Item) {
  $scope.items = Item.query();
  console.log($scope.items); // gives []
 }
4

2 に答える 2

2

基本的に、コールバックが必要だと思いますか? ドキュメントには次のように記載されています。

The action methods on the class object or instance object can be invoked with the following parameters:

    HTTP GET "class" actions: Resource.action([parameters], [success], [error])
    non-GET "class" actions: Resource.action([parameters], postData, [success], [error])
    non-GET instance actions: instance.$action([parameters], [success], [error])

ここ

したがって、次を使用します。

Item.query({}, function() {
//you callback
});

動作するはずです。

于 2013-07-15T16:28:30.767 に答える