アンジェラさん、あなたは古いバージョンの Ember を使っているようですね。2 より前のバージョンを使用していますが、最新バージョンは 4 より前です。多くの変更があるため、4 より前のバージョンを使用することをお勧めします。connectOutlets
たとえば、行番号 119 を見ると、pre 4 にはもうメソッドがないことがすぐにわかります。
そうは言っても、あなたの問題は、ざっと見ただけでloadMoreDetails
、コントローラー自体ではなく、コントローラーのコンテンツを呼び出そうとしていることだと思います。試す:router.get('oneContributorController').loadMoreDetails();
さらに、pre 4 ではルーターにアクセスできなくなりました。更新することが重要だと思います。
質問
Ember.Object
は単一のオブジェクトを表しますが、Ember.ObjectController
は多くEmber.Object
の を格納するためのコレクションに関するものです。Ember.ArrayController
ユースケースに応じて、(類似したオブジェクトの配列)、Ember.ObjectController
(さまざまな関連オブジェクトのコンテナ)、またはEmber.Controller
(一般的な使用法)のいずれかを使用する必要があります。
あなたのバックグラウンドは何ですか?ルビーかPHPか?いずれにせよ、fmt
メソッドは PHPsprintf
や Rails の%
演算子 ( "Tasks: %d" % @tasksCount
) に似ています。の%@
値がget('login);
文字列のどこに表示されるかを指定します。
Ember は、URL 自体で変数の名前を指定しません。デフォルトではありません。URL のどの部分がどのプロパティにマップされるかを Ember に伝えるのはルーターです (ルーター v1 を使用していますが、4 以前ではルーター v2 です)。これにより、各変数が URL 内に固有のスペースを持つため、重複はありません。
これらは、あなたが使用している古い Ember のものです。新しいバージョンでは、より直感的です。コントローラーが表すモデルをコントローラーに伝えるにはmodel
、ルーターに正しいモデルを返すメソッドがあります。使用しているバージョンでは、これらは Ember に URL パラメーターからオブジェクトを作成する方法を伝え ( deserialize
- なぜ持っているdeserialized
のですか ?)、逆に、渡したオブジェクトから URL のプロパティを取得するように指示します ( serialize
)。
PS:昨日の私の投稿は非常に参考になると思います。