flowchart LR
view[view - getter,setter ] --> presenter
model --> presenter
presenter --> model
presenter -->|data| view
- presenter가 view 컴포넌트의 getter, setter를 통해 접근
- native dom이 아닌 인터페이스로 취급 (model을 주지 않아 로직이 없음)
- 모든 기능에 1:1 대응되는 getter, setter 작성 필요
- ex. MFC, Android, visual basic
var PhotoView = Backbone.View.extend({
tagName: "li",
template: _.template( $("#photo-template").html() ),
events: {
"click img" : "toggleViewed"
},
initialize: function() {
this.model.on( "change", this.render, this );
this.model.on( "destroy", this.remove, this );
},
render: function() {
$( this.el ).html( this.template(this.model.toJSON() ));
return this;
},
toggleViewed: function() {
this.model.viewed();
}
});