0

나는 이것이 조용해야한다고 생각하지만 어떻게 든 나는 이것이 어떻게 작동하는지 알 수 없다.백본 Js 템플릿 속성을 설정

은 내가 다른 위치에 배치하고 싶습니다 백본 JS, 2 템플릿을 가지고 있지만,

TmplView = Backbone.View.extend({ 
    initialize: function(){ 
     this.render(); 
    }, 
    render: function(){ 
     var template = _.template(this.$el.html(), {}); 
     this.container.append(template); 
    }, 
    container: $("#firstDiv"), 
}); 

var template1 = new TmplView({ el: $("#tmpl1") }); 
var template2 = new TmplView({ el: $("#tmpl2") }); 
JS

같은 Backbone.View

HTML

<script type="text/template" id="tmpl1"> 
<div> template 1 </div> 
</script> 

<script type="text/template" id="tmpl2"> 
<div> template 2 </div> 
</script> 

<div id="firstDiv"></div> 

Next Template 

<div id="secondDiv"></div> 

를 사용하여

내 질문 : template2를 컨테이너 $("#secondDiv")에 어떻게 설정합니까?

나는 var template2 = new TmplView({ el: $("#tmpl2"), container: $("#secondDiv") });

날 그렇게 할 수있는 일반적인 방법을 알려 주시기 바랍니다 시도했다.

답변

0

나는 다음과 같은 솔루션으로 문제를 해결 : 사람이 더 나은 방법이있을 수 있습니다 경우

TmplView = Backbone.View.extend({ 
    initialize: function(){ 
     this.render(); 
    }, 
    render: function(){ 
     console.log(this.$el); 
     var template = _.template(this.$el[0].html(), {}); 
     this.$el[1].append(template); 
    }, 
}); 

var template1 = new TmplView({ el: [$("#tmpl1"), $("#firstDiv") ] }); 
var template2 = new TmplView({ el: [$("#tmpl2"), $("#secondDiv") ] }); 

것은, 그것은 환영 할 것이다.

0

이 시도 감사 :

TmplView = Backbone.View.extend({ 
initialize: function(){ 
    this.render(); 
}, 
render: function(){ 
    var template = _.template(this.template, {}); 
    this.$el.append(template); 
} 
}); 

var template1 = new TmplView({ el: "#firstDiv", template : $('#tmpl1').html() }); 
var template2 = new TmplView({ el: "#secondDiv", template : $('#tmpl2').html() }); 
+0

죄송합니다. 여기에 오타가 없습니다. 혹시 작동하는 바이올린을 사용하고 있습니까? – xhallix

+0

이것은 작동하지 않습니다. 적어도 2016 년 4 월 현재, View 개체에 허용 된 속성 만 설정할 수 있으며 'template'은 그 중 하나가 아닙니다. – sameers