0

私はBackbone.jsから始めたばかりなので、質問の単純さを許してください。

標準の「Todo」の例を使用していて、「Todo」を拡張して複数のフィールドを持つことができるようにしたいと考えています。現在、「Todo」アプリは、AppView内の単一のフィールドを使用して、コレクションに新しいアイテムをトリガーします。

Index.html

<header id="header">
  <h1>todos</h1>
  <input id="new-todo" placeholder="What needs to be done?" autofocus>
</header>

App.js

app.AppView = Backbone.View.extend({
    events: {
        'keypress #new-todo': 'createOnEnter'

したがって、現在の構造は

AppView

->コレクション(Todos)

->表示(Todoリストアイテム)

新しいアイテムテンプレートを独自のビューにしたい

AppView

->コレクション(Todos)

->表示(Todoリストアイテム)

->表示(戸堂:新作)

このビューがコレクションに何かを追加する方法について少し迷っています。appviewは現在呼び出しているだけです。

createOnEnter: function( e ) {
            if ( e.which !== ENTER_KEY || !this.$input.val().trim() ) {
                return;
            }

            app.Todos.create( this.newAttributes() );
            this.$input.val('');
        }

新しいビュー内からコレクションへの参照を取得するにはどうすればよいですか?

4

1 に答える 1

1

あなたが何を探すべきかを知っているときはとても簡単です...

var view = new app.NewTodo({ collection : app.Todos});

これは、を使用してビュー内で参照できます。

this.collection.create({ title: 'Bonjour', order: 99, completed: false });
于 2013-02-08T12:15:52.617 に答える