0

このフィルタリングされたリストがいかに美しく洗練されているかをご覧ください。

http://kilianvalkhof.com/uploads/listfilter/#/united-kingdom/

とてもシンプルに見えます。シンプルな順序なしリストと少しの JQuery だけが必要です。簡単なことですよね?バックボーンマリオネットのコレクションでそれをどのように行いますか?

私はマリオネット チャット アプリを持っており、ユーザー リストをそのように表示して機能させたいと考えています。しかし、私が言うとき:

     var view = new UserListView({
                    collection: collConUsers
                });

     App.userListRegion.show(view);

HTML 出力に単純な順序付けられていないリストが表示されません。アイテム ビューとコレクション ビューで試した tagName または el の組み合わせに関係なく、それを実現できないようです。代わりに、CollectionView から次のような出力が得られます。

    <div id="divusers">
        <div>
            <div>
                <li id="1">Rob Jones</li>
                <li></li>
            </div>
            <div>
                <li id="2">Steve Smith</li>
                <li></li>
            </div>
        </div>
    </div>

各 li をラップする div と、コレクション内の各ユーザーを起動するための追加の li。

バックボーンが各ビューを独自の要素で必要としていることがわかりました。しかし、次のような単純な順序なしリストを生成できない場合、どうすれば上記の効果を生成できますか?

      <ul id="users">
            <li id="1">Rob Jones</a></li>
            <li id="2">Steve Smith</li>
      </ul>

アイテムビューやコレクションビューからそのようなリストを作成することはできませんか?

周りを見回すと、余分な div と li について不平を言っている人がいます。周りを見渡すと、バックボーン コレクションのフィルタリングと並べ替えは悪夢のように思えます。それらには非常に多くの投稿があります。Derek Bailey のコレクション レベル フィルタリングの提案は次の場所にあります。

https://github.com/marionettejs/backbone.marionette/issues/183

http://jsfiddle.net/derickbailey/7tvzF/

数時間使用しましたが、まだユーザー リストを操作できません。たとえ私がそうしたとしても、名前全体を入力し、入力フィールドを完全に残して、フィルタリング アクションを取得する必要があるようです。上のリンクの結果が気に入っています。一度のキーストロークがよりスムーズで便利になります。そして、一見それほど多くのコードはありません。バックボーンマリオネットでそれを達成する方法について頭を悩ませているだけではありません。私は単純なものが欠けている必要があります。ここで提案できる方向性はありますか?

4

1 に答える 1

1

問題を解決するための情報を次に示します。

次に、入力ボックスの「変更」イベントでコレクション (例) をフィルタリングします。Marionette は、フィルター処理されたモデルを再表示します。(本で開発されたアプリのhttps://github.com/davidsulc/marionette-gentle-introduction/blob/master/assets/js/apps/contacts/list/list_controller.js#L38も参照してください。ここに。)

于 2013-10-01T15:44:50.670 に答える