アイテムを追加するための小さなフォームと、すべてのアイテムを一覧表示するコレクション ビューがあります。ただし、新しいアイテムのレンダリングをどこで/どのように呼び出すかはわかりません:
フォーム ビュー:
クラス FastTodo.Views.AddTodoItem は Backbone.View を拡張します テンプレート: JST['todo_items/add_item'] el: '#メイン' イベント: '提出': 'addItem' addItem: (イベント) -> event.preventDefault() @collection.create タスク: $('#task').val() レンダリング: -> $(@el).html @template() 初期化: -> @collection = new FastTodo.Collections.TodoItems() @与える()
コレクション ビュー:
クラス FastTodo.Views.TodoItemsIndex は Backbone.View を拡張します テンプレート: JST['todo_items/index'] レンダリング: -> console.log("レンダリング") renderOne: (アイテム) -> console.log(アイテム) 初期化: -> @collection = new FastTodo.Collections.TodoItems() @collection.bind 'リセット', => @与える() @collection.on 'add', (アイテム) => console.log('追加') @renderOne(アイテム) @collection.fetch()
コンソールの出力に新しいアイテムが表示されると思います。ただし、次のように表示されます。
コレクションで新しいアイテムをレンダリングするにはどうすればよいですか? (または、renderOne がトリガーされていることを示しますか?)