2012-09-12 2 views
1

간단한 질문 일 수 있습니다 ... 어떻게 backbone.js보기에서 변수에 액세스합니까?백본보기 액세스 방법 변수

initialize: function() { //all init here } 
render: function() {//all render here } 

printFoo: function(event) { 
    var printVar = this.changeFoo.changeVar // how do I access changeVar here??? 
} 

changeFoo: function(event) { 
    var changeVar = $(e.currentTarget).attr('id'); 
} 

어떻게 changeVar에 액세스합니까?

답변

3

짧은 답을 할 수 없습니다.

이유 : changeVarchangeFoo의 개인 회원입니다.

changeVar을 외부 개체의 구성원으로 승격시킬 수 있습니다. 이 경우 changeVarinitialize, render, printFoochangeFoo에 액세스 할 수있게됩니다.

function ConstructorFunctionName(){ 
    var changeVar = 'foo'; 
    /*this.changeVar = 'foo'; // this can also be used */ 

    this.initialize = function() { //all init here }; 
    this.render = function() { //all render here }; 

    this.printFoo = function(event) { 
     var printVar = changeVar; 
    }; 

    this.changeFoo = function(event) { 
     this.changeVar = $(e.currentTarget).attr('id'); 
    }; 
} 

http://jsfiddle.net/Njwdx/

+0

이 어떻게 같을 것이다? 그냥 changeVar global (var 선언 없음)을 만드시겠습니까? – alexndm

+0

"객체"가 생성되는 방식을 변경해야합니다. 이제 대답을 업데이트하십시오 ... – xandercoded

+1

감사합니다. 모든 것이 Backbone.View.extend ({})에 래핑되었으므로 다음과 같이했습니다. changeFoo : function (event) {this.changeVar = $ (e.currentTarget) .attr ('id'); } 이제 changeVar에 액세스 할 수 있습니다. – alexndm