2013-08-29 2 views
0

나는 다음과 같은 백본보기가 : 나는 HTML 요소는 ID DOMid으로 이미보기를 초기화하기 전에 몸에 존재하는 것을 고려하고는 백본보기를 렌더링 동적

var MyView = Backbone.View.extend({ 
    id : 'myview'+atrs.i, //i is the property of atrs passed as parameter to view 

    initialize: function(atrs) { 
    $('#'+atrs.DOMid).append(this.$el); 
    } 
}); 

합니다. 그럼으로보기 초기화 :

new MyView({DOMid:'mydiv',i:2}); 

을하지만 오류 얻을 : 생성이 경우보기에서하지만 그 안에 무엇이든 id 속성과

var MyView = Backbone.View.extend({ 

    initialize: function(atrs) { 
    this.id = 'myview'+atrs.i; 
    $('#'+atrs.DOMid).append(this.$el); 
    } 
}); 

: 나는 또한 시도 cannot read property i of undefined

을 .

내 목표에 어떻게 접근합니까? 동적 MYVIEW의 ID를 설정하려면

+0

'.append (this.render(). $ el)'대신'.append (this. $ el)'를 시도 했습니까? – TMichel

+0

@TMichel 결과가 변경되지 않음 – codeofnode

답변

0

, 당신은 함수를 사용해야합니다 :

id: function() { return 'myview'+atrs.i; }, 

을하지만 청소기 접근 방식은 인스턴스에 MYVIEW의 지정된 인수를 사용하는 것입니다 :

new MyView({el:'#mydiv',id:'myview2'});