나는 backbone.js로 작업 중이며 <ul>
요소는 listView
이고 동적 요소 인 <li>
요소는 별도로 tabView
입니다. listView
의 렌더링 방법에서 새 tabView
을 만들고 el
을 listView
el
에 추가합니다. 기존 '추가'탭 앞에 동적 부트 스트랩 탭 추가하기
var listView = Backbone.View.extend({
//<ul> element for tabs
el: '.nav-tabs',
render: function(model) {
var tabView = new TabView({ model: model });
tabView.render();
$(this.el).append(tabView.el);
}
var TabView = Backbone.View.extend({
//create <li> element to hold each tab
tagName: "li",
className: "currentTab ",
render() {
var html = this.template(this.model.attributes);
$(this.el).append(html);
//creates new div for tab content
var tabContent = new TabContentView({ model: this.model });
tabContent.render();
}
이 괜찮 예상대로 작동
.새 탭을 동적으로 추가하려면 먼저 li
항목이 있어야합니다. 따라서 사용자가 li
항목을 클릭하면 새 탭 만들기 만 수행됩니다.
이제는 새로 작성하는 탭을 li
+ 요소 앞에 추가해야합니다. 현재 모든 새 탭은 this
+ 요소 뒤에 추가됩니다.
다음은 참조 용 <ul>
태그의 html입니다.
<div id="test">
<ul class="nav nav-tabs ">
<li><a href="#" class="add-newTab">+</a></li>
</ul>
</div>
나는 listView
는 아래와 같은 방법을 렌더링 변경 밖으로 시도,하지만 작동하지 않습니다. 오히려 단지 (+) li
요소 위에 새로운 탭을 추가하기 만하면됩니다.
tabView.render();
$(this.el).find(".add-newTab").before(tabView.el);
어떻게 생각하나요?