私は、次のコードと主鎖中の項目にビューを追加しようとしています:バックボーンビューがレンダリングされているかどうかを確認する方法は?
var viewContainer = this.$el.find('.view-container'),
pageWrap = this.$el.nextAll();
(viewContainer.empty())場合FIX
{
this.myView= new ProductsView();
viewContainer.append(application.myView.render().$el),
console.log(myView);
}
私はappendinですこのビューはviewContainer
にtoggle
の機能を持っていますが、ボタンをクリックするたびに、myView
が何度も繰り返し表示されるのではなく、viewContainer
に繰り返し追加されます。ビューを追加する前にビューが既にレンダリングされているかどうかを確認するにはどうすればよいですか?私が使用できるのは!this.rendered()
相当ですか?
私はこれを見つけましたthreadしかし、この例で私を助けていません。
UPDATE - それのルックスからはconsole.log FROM(viewContainer)
[div.view-container.product-container.active, div#subjects_menu.view-container.product-container.hidden.active, prevObject: p.fn.p.init[1], context: undefined, selector: ".view-container"]
[現在、Backbone.ViewがDOMでレンダリングされているかどうかを確認するにはどうすればよいですか?](http://stackoverflow.com/questions/12332373/how-can-i-check-if-a-backbone-ビューに現在レンダリングされているビュー) – AKS
おそらく、ビューを追加する前に 'this.rendered = true; 'にアクセスする方法を教えていない可能性があります。 – HGB
'viewContainer'が' viewContainer.length'ではなく子を持っているかどうかチェックしたいと思います。 if条件の中で 'viewContainer.is(:empty)'を使うことでそうすることができます。 – AKS