Backbone(2) 뷰
var UserView = Backbone.View.extend({
initialize: function{/*.......*/},
render: function{/*.......*/}
});
// DOM this.el
//el tageName,className,id 。
// ,el div
var UserView = Backbone.View.extend({
tagName: "span",
className: "users"
});
assertEqual((new UserView).el.className,"users");
// el,
var UserView = Backbone.View.extend({
el: $(".users")
});
// el, tageName,className,id
var userView = new UserView({id: "followers"});
2. 렌더링 뷰//새 HTML을 사용하여 el을 업데이트합니다.
var TodoView = Backbone.View.extend({
template: _.template($("#todo-template").html()),
render: function(){
$(this.el).html(this.template(this.model.toJSON()));
return this;
}
})
_.template("http://documentcloud.github.com/underscore/#template")
3. 이벤트 의뢰//이벤트를 엘에 추가하는 간단하고 빠른 방법
var TodoView = Backbone.View.extend({
events: {
"change input[type=checkbox]" : "toggleDone",
"click .destroy" : "clear",
},
toggleDone: function(e){/* ... */},
clear: function(e){/* ... */}
});
//events {"eventType selector": "callback"},selector , , el
4. 바인딩 및 컨텍스트
// , change , render
var TodoView=Backbone.View.extend({
initialize: function(){
_.bindAll(this, 'render' ,'close'); //_.bindAll (http://documentcloud.github.com/undersocre/#bindAll)
this.model.bind('change' , this.render);
},
close: function(){/* ... */}
});
//_.bindAll render() close() TodoView
// , el。 delete
var TodoView = Backbone.View.extend({
initialize: function(){
_.bindAll(this, 'render', 'remove');
this.model.bind('change', 'this.render');
this.model.bind('delete', 'this.remove');
},
remove: function(){
$(this.el).remove();
}
});
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Swift3에서 UIView를 View의 중심에 배치하는 방법텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.