부모 생성자를 통해 뷰를 상속 :만들기 백본 내가 2 백본 전망이
- VideoView를 지켜 보면서을 (확장 Backbone.View)
- ExpandingVideoView (VideoView를 지켜 보면서 확장)
I가 동영상의 여러 유형이 내 사이트 중 일부는 data
속성 (예 : data-has-overlay
, data-is-expanded
)을 기반으로 한 다른 행동을 보입니다.
전달 된 요소를 검사하고 적절한 경우 하위 뷰에 위임 할 VideoView에서 모두 초기화하려고합니다.
질문 :
- 이를 용이하게하기 위해 내장 Backbone.js에 있나요?
- 우아한 해결책이 있습니까? 아니면 DOM 수준에서 올바른보기를 만들 때 (즉, 특정 데이터 속성을 가진 비디오 요소를 검색하고 그에 따라 인스턴스화하는) 초기 생성 코드를 변경해야합니까?
예 BB 코드 :
self.$el.find('.Video').each(function (index, el) {
self.videoViews.push(new VideoView({ el: el }));
});
:
<div class="Video" data-src="..." data-is-expanded data-has-controls>...</div>
<div class="Video" data-src="..." data-has-controls>...</div>
<div class="Video" data-src="..." data-is-expanded>...</div>
비디오는 다음과 같은 기능에 만들어집니다
var VideoView = Backbone.View.extends({
initialize: function (options) {
// something here to check the el and create ExpandedVideoView if appropriate
if (this.$el.data('is-expanded')) {
// Create ExpandedVideoView instead..?
}
},
foo: function() { return 'foo'; }
});
var ExpandedVideoView = VideoView.extends({
initialize: function() {},
bar: function() { return 'bar'; }
});
그리고 태그는 다음과 같이 보입니다
(여기서 self
은 상위보기입니다.)