バックボーンを学ぶのにまだ苦労しています。現在、私のバックボーンコレクションで.fetch()
と呼んだ後で、未知の報告されていないエラーが発生しているため、私の意見はまったくレンダリングされません。これはアプリケーションのどの場所からでも行うことができるので、すべてのファイルを表示するための要点を設定しました。コレクションのBackbone.js fetch()での問題
ビュー内のコメントが発生しているエラーを説明し、また、(単純にシナトラ+ Redisの場合)、サーバからの応答べきです。 /schools
の応答は[{"name":"Foo"},{"name":"Bar"}]
ですが、なぜこのエラーが発生するのかわかりません。ルーターにnew window.fooView
を作成しても、何らかの理由で私のビューが初期化されることはありません。誰か助けてくれますか?ありがとう!
したがって、_.bind( 'all'、render)は完全に役に立たないですか?私はビューオブジェクトが推測されるたびに(この場合、ルータの 'new window.fooView'で)レンダリングメソッドを呼び出すと考えました。それをバインドするのではなく、(new window.fooView.render'を実行するのではなく)initializeから直接呼び出すだけでよいでしょうか? – Jason
いいえ、全く役に立たないわけではありません。コレクションを変更した場合(フェッチを再度呼び出す、または追加/削除を行う場合など)、ビューがレンダリングされますが、問題はコードが実行されている順序です。フェッチはあなたが束縛される前に呼び出されるので、1になります。2.呼び出されたフェッチ2.コレクションイベントfire 3.コレクションイベントにバインドしますが、それらはすでに起動されているので、すぐに何も起こりません。ビュー・オブジェクトを作成した後にフェッチ・コールをrouter.js 'index'に移動すると、フェッチ・コールが機能するようになります。どちらかというと、最初に明示的に 'render'を呼び出します。 –
ここには良い例があります:http://www.jamesyu.org/2011/02/09/backbone.js-tutorial-with-rails-part-2/彼が彼の最後に 'render'を呼び出す方法に注目してください'initialize'メソッドです。 –