0

私のチームのプロジェクトの1つでBackbone.jsを使用していますが、これは初めて使用します。

私はこの種のコードを何度も見ました(これはコーヒースクリプトですが、十分に明確だと思います。@意味しますthis.

clients_view = new Homespa.Views.Orders.Clients.SectionView(collection: @options.clients)
@$("#clients-section").html(clients_view.render().el)

clients_search_view = new Homespa.Views.Orders.Clients.SearchView
@$("#clients_search_modal").html(clients_search_view.render().el)

これを行うためのより良い方法はありませんか?私は自分の見解を呼び出すことを期待しrenderます、そしてそれからすべてが良いです、私はhtmlを手に入れてそれを手で追加/交換する必要はないはずです。

お時間をいただきありがとうございます!

4

1 に答える 1

1

ビューが自動的にページに追加されると、ビューには外界の知識、所有していない要素の知識が必要になります。これは良くない。

また、バックボーン固有ではありません。要素を作成して、どこかに表示されることを期待することはできません。常に最初にページに挿入する必要があります。

var a = document.createElement("div"); //Don't expect this to appear as a child of #footer or something
document.getElementById("footer").appendChild(a) //Now it is, but we needed to know about #footer.

せいぜい、次のような方法を作成することで、配管を少し短くすることができます.renderTo

someView.renderTo( "#clients-section"); //Would call .render and append the views .el to "#clients-section" without the view having to know about it
于 2012-07-06T09:12:01.710 に答える