1

BackboneJS를 사용하는 웹 응용 프로그램이 있습니다. 이 응용 프로그램에서는 백본보기 (LayoutView)가있는 LayoutView.js 파일이 있습니다. LayoutView에는 다른 뷰를 호출하는 다른 함수 (메서드)가 있습니다. LayoutView의 초기화 함수에서 일부 데이터를 가져오고 다른 뷰에서이 동일한 데이터 (모델)를 가져 와서 작업 (업데이트/삭제)해야합니다. 내가 MYVIEW에 LayoutView에서 데이터를 전달하고 어떻게 다음은 : 아직도모델 (데이터)을 백본의 한 뷰에서 다른 뷰로 전달하고 편집/삭제하는 방법은 무엇입니까?

var LayoutView = Backbone.View.extend({ 
    el: $("#mi-body"), 
    initialize: function() { 
     var that = this; 
     this.ConfigData = new Configurations(); //Configurations is a collection 
     this.ConfigData.fetch({ 
      success: function() { 
       alert("success"); 
      }, 
      error: function() { 
       alert("error"); 
      } 
     }); 
     this.render(); 
     Session.on('change:auth', function (session) { 
      var self = that; 
      that.render(); 

     }); 
    }, 

    render: function() { 
     // other code 

    }, 

    events: { 
     'click #logout': 'logout', 
     'click #divheadernav .nav li a': 'highlightSelected' 
    }, 

    myView: function() { 
     if (Session.get('auth')) { 
      this.$el.find('#mi-content').html(''); 
      this.options.navigate('Myview'); 
      return new MyLayout(this.ConfigData); 
     } 
    } 
}); 

, 나는 확실하지 않다 (내 현재 데이터/모델/수집로/접속이 데이터를 "GET"하는 방법을 알고하지 않는 용어는 정확하다.) 백본의 "model.save(), model.destroy()"메소드를 사용하여 myView에서 작업한다. 또한 편집/삭제가 발생할 때마다 ConfigData의 데이터를 수정해야하며 업데이트는 사용자에게 표시되는 html에 반영되어야합니다. 에서이 기능을 초기화

var MyView = Backbone.View.extend({ 

    tagName: 'div', 

    id: "divConfigurationLayout", 

    initialize: function (attrs) { 
     this.render(); 

    }, 
    render: function() { 
     var that = this; 

    }, 

    events: { 
     "click #Update": "update", 
     "click #delete": "delete" 
    }, 

    update: function(){ 
//code for updating the data like model.save... 
}, 

delete: function(){ 
//code for deleting the data like model.destroy... 
} 
}); 

지금 내가 전달 된 데이터가 attrs에에 있습니다

다음은 MYVIEW의 코드입니다. 이 일을 어떻게하는거야?

답변

0

백본보기를 인스턴스화하는 구문은 new View(options)입니다. 여기에서 options은 키 - 값 쌍을 갖는 Object입니다.

당신과 같이 인스턴스화 것,보기에 컬렉션을 전달하려면 :보기 내

new MyLayout({ 
    collection : this.configData 
}); 

, this.collection 당신의 configData 컬렉션에 참조합니다.

+0

제안한 코드가 내 코드에 적합한 지 알려주십시오. – dany