Backbone.View
コレクションをスクロール可能なリストとしてレンダリングする必要があるに取り組んでいます。
clientWidth
初期レンダリングの一部として、ビューがレンダリングされた後にのみ使用できるいくつかのレイアウトプロパティ(例)にアクセスする必要があります。
私の問題は、ビューがDOMに追加されたことをどのように知ることができるかということです。
を使用してBackbone.View
、ビューをDOMにアタッチするには通常2つの方法があります。
ビューを作成>レンダリング>アタッチ:
view = new MyList().render() $('#dummy').append(view.$el)
ビューを作成し、インプレースでレンダリングします。
new MyList({el: '#dummy'}).render()
注:(1)と(2)は完全に同等ではないことを私は知っています、それはポイントではありません。
私のリストが次のように定義されていると考えてみましょう。
class MyList extends Backbone.View
render: ->
@$el->html( ... )
@
layout: ->
max = $el.scrollWidth - $el.clientWidth
# ... disable / enable scrolling arrows based on max ...
MyListがDOMにアタッチされた後にlayout()が呼び出されることをどのように確認しますか?