2012-07-27 4 views

답변

3

백본 지원 바인딩 모델을 구현 않지만, 다른 어떤 같이 자동을 아니다 정확하게 설명 할 수 클라이언트 측 응용 프로그램 프레임 워크 (예 : AngularJS의 데이터 바인딩 (ng-controller 또는 EmberJSbindAttr). 모델의 상태 변화 등의 전망을 업데이트 할 몇 가지 정말 기초적인 코드를

,이 예에서 Backbone.Viewevents object 등을 사용
var ExampleView = Backbone.View.extend({ 
    id: 'myView', 

    events: { 
     // using an #id selector here is also acceptable 
     'change [data-attrname=name]': function(e) { 
      // update the value in the model 
      this.model.set('name', $(e.target).val()); 
     } 
    }, 

    initialize: function(options) { 
     this.model.on('change', this.render, this); 
    }, 

    render: function() { 
     var html = _.template('<h1 data-attrname="name"><%= name %></h1>', 
           this.model.toJSON()); 
     this.$el.html(html); 
     return this; 
    } 
}); 

다음 HTML을 렌더링 ( myView 암시에 의해 생성 된 사업부입니다 ExampleView)이 본질적으로 (도매 인터페이스로부터 직접 결합하고있는

<div id="myView"> 
    <h1 data-attrname="name"></h1> 
</div> 

) 때 모델 변경 전체 뷰를 보내고 render을 재. 백본은 일부 다른 프레임 워크보다 덜 독설적으로 디자인되어 다른 라이브러리를 추가 할 때 적합하게 구현할 수 있습니다. 더 자동 바인딩을 모델링하는 방법에 대한 몇 가지 더 정교한 기술에 대한

, 여기 그 저자에 의해 나열된 몇 가지 자료입니다

  1. Los Techies/Derek Bailey
  2. theironcook
  3. XTargets
6

사용 CanJS를 사용하면 모든 코드를 다음과 같이 바꿀 수 있습니다.

<h1><%= model.attr('name') %></h1>