1

ユーザーがクリックしたもの (最近、トレンドなど) に基づいて一連のニュース記事を取得するようにサーバーに要求したいと考えています。最初にページを読み込んで、API からの応答を待っている間に読み込みバーを表示できるようにしたいと考えています。私が持っているものは、動作し、必要な JSON データを返しますが、何かをロードする前に、サーバーから応答が返されるまで待機します。これがこれまでのすべてです。

私が達成したいことは次のとおりです:オブジェクトの空の配列をロードし、記事への API 呼び出しを段階的に行います (たとえば、この時間、最後の 1 時間、1 時間前などのすべての記事を取得します)。記事を取得してビューに入力するたびに (どうにかしてそれらをコントローラーに挿入できると仮定しています)、そのオブジェクトの配列に追加する方法について、Emberisms で迷子になっています。ArrayController を作成してから、その配列にモデルを作成し、関数を呼び出してそれに追加する必要があると思いますが、私が言ったように、そのコントローラーにアイテムをその場で追加する方法がわかりません

App = Ember.Application.create();

App.Router.map(function() {
  this.resource('today');
});

App.TodayRoute = Ember.Route.extend({
     model: function() {
        return $.getJSON('/today');
     }
});

私の質問の理由を少し詳しく説明すると、ember でこれにアプローチする方法がわかりません。私はjqueryを使用してこのようなことを行う方法に精通していますが、フレームワークを学ぼうとしており、元々2つの間の分業が何であるかを知るのに少し問題があります。実際の AJAX リクエストは jquery である必要があることはわかっていますが、可能な限り Ember で行いたいと考えています。ただし、これがjqueryで実行する必要がある場合は、それも問題ありません!

4

2 に答える 2

0

私は解決策を見つけました-そして、残り火のすべてのように、それは非常に簡単でした. いくつかの空のフィクスチャ データを使用し、コントローラーを以下のように定義しました。

App.ArticleRoute = Ember.Route.extend({
  model: function() {
    return App.Article.find();
  }
})

次に、ページロード時に、焦点を合わせたメソッドを呼び出します

App.Article.createRecord({
    // Attributes, pulling from the returned JSON
})

単純!:)

于 2013-07-14T18:45:15.577 に答える