バックボーン ビューで内部要素を検索する場合、スコープを に制限することで最適なパフォーマンスが得られthis.$el
ますfind()
か?それともメソッドで DOM 全体を検索する必要がありますか?
これが私が話していることのスタブの例です:
<!-- a bunch of other stuff -->
<div id="outer">
<!-- a bunch of other stuff -->
<div id="inner">foo</div>
</div>
<!-- a bunch of other stuff -->
<script>
var myView = new MyView({el: $('#outer')});
</script>
MyView は次のとおりです。
MyView = Backbone.View.extend({
//other code
useScoping: function() {
var $innerElement = this.$el.find('#inner');
$innerElement.text('bar');
},
noScoping: function() {
var $innerElement = $('#inner');
$innerElement.text('bar');
}
});
useScoping()
よりも効率的ですnoScoping()
か?this.$el
オブジェクトの構築時にキャッシュする必要があるため、スコープを使用するときに検索で'#inner'
DOM 全体をカバーする必要はありません。でも確かめたかった。class="inner"
JavaScript に適切な変更を加えた場合、同じことが当てはまりますか?