0

Ember.js を学びながら、誰かを手伝って、かなりシンプルなアプリを構築しています。

最終的に、これは API によって供給されますが、API はまだ開発中であるため、Fixtures と Ember Data を使用してワインのリストを管理する方法を見つけようとしています。

jsfiddle はhttp://jsfiddle.net/YvmzN/5/です。

私がやろうとしているのは、リストから品種が選択されたときに、その品種に一致するワインのリストを返すことです。ただし、出力が得られません。jsfiddle の Web インスペクターから非常に奇妙なエラーが発生しますが、ローカルではエラーは発生せず、ページにワインが表示されません。

流れがつかめそうになくてアウトプットできない

console.log(これ)
私の controller 内から、App.WineRoute.modelコントローラーがトリガーされているかどうかさえわかりません(そうではないと思います)。

誰かが私がここで間違っていることを教えてくれますか? また、Ember で何が起こっているのか、どのようにデバッグするのかを説明してもらえますか?

ルーター -> ルート -> コントローラー -> モデル -> コントローラー -> ビューに進むはずだと思っていましたが、フローを適切に追跡したり、これが機能しない理由を確認したりできません。

JSfiddle で述べたように、私は現在、ローカルの JSON ファイルからワインのリストを取得しています。長期的には、既にフィルター処理されたリストを API から要求しますが、その方法を知りたいです。この時点でこれ。

4

1 に答える 1

2

詳細がわかるまで、回答の一部を次に示します。

Ember Data を実際に適切に使用するには、各レコードに ID が必要です。

 App.Wine.FIXTURES =[
  {
    id:0,
    winery:"something hills",
    designation:"label name",
    varietal:"Merlot"
  },
  {
    id:1,
    winery:"something stream",
    designation:"label name 2",
    varietal:"Merlot"
  },
  {
    id:2,
    winery:"something grape",
    designation:"label name 3",
    varietal:"Syrah"
  }
];

Ember Data は、リビジョン 13 と 1.0 ベータの間に多数の変更を導入しました。これは優れた読み物です(開発者が何をすべきかを説明しています)。

https://github.com/emberjs/data/blob/master/TRANSITION.md

アダプターは本当に適切です。アダプターを今すぐ定義する方法は次のとおりです

App.ApplicationAdapter=  DS.FixtureAdapter;

私はいくつかの主要なリファクタリングを行いました。正直なところ、私はワインにあまり詳しくないので、いくつかの用語や関係が間違っている可能性がありますが、ここに例と多くの作業を行うことができます.

http://jsfiddle.net/YvmzN/7/

また、余談ですが、transitionTo/transitionToRoute を呼び出してルートに必要なモデルを提供すると、モデル フックにヒットしません。モデルを提供しない場合 (または ID を提供しない場合) は、該当するルートでモデル フックにヒットします (確かにこの例がありました。ワインへの移行と言いますが、品種のモデルのみを渡します。そのため、variant リソースのモデルはありますが、wines リソースのモデルはありません。したがって、wines モデル フックにヒットします)。

于 2013-10-01T14:24:29.600 に答える