0
backbone.js를 사용하여 웹 응용 프로그램을 만들었으며 약간의 문제가 발생했습니다. 그것은 내가 전혀 새로운 아이템을 만들 수있게 해준다. 그러나 render() 메서드에서 만든 버튼에 이벤트를 바인딩하지 않습니다. 기본적으로 새 항목을 추가 할 때마다 편집 및 삭제 버튼이 표시되며 모델을 바인딩하여 해당 항목을 소급 수정하거나 삭제할 수 있습니다.렌더링 된 버튼에 backbone.js 바인딩
내 백본보기 :
ClientView = Backbone.View.extend({
el: $("body"),
initialize: function() {
this.clients = new Clients(null, { view: this });
},
events: {
"click #add-client": "AddClient",
"click .edit-client": "EditClient",
"click #save-client": "SaveNewClient"
},
render: function (model) {
var compiled_template = _.template($("#Client-Template").html());
$("#client-rows").append(compiled_template(model.toJSON()));
$("input:button", $("#client-rows")).button();
$("#addClientModal").modal("hide");
return this;
},
AddClient: function (model) {
$("#addClientModal h3").text("Add Client");
$("#addClientModal").modal("show");
},
EditClient: function (model) {
$("#addClientModal h3").text("Edit Client");
$("#addClientModal").modal("show");
},
SaveNewClient: function() {
var client_firstName = $("#clientFirstName").val();
var client_lastName = $("#clientLastName").val();
var client_email = $("#clientEmail").val();
var client_address = $("#clientAddress").val();
var client_model = new Client({ FirstName: client_firstName, LastName: client_lastName, Email: client_email, Address: client_address });
this.clients.add(client_model);
$("#clientFirstName, #clientLastName, #clientEmail, #clientAddress").val("");
$("#addClientModal").modal("hide");
}
});
내 템플릿 :
<script id="Client-Template" type="text/template">
<tr>
<td><%=FirstName%></td>
<td><%=LastName%></td>
<td><%=Address%></td>
<td>
<input type="button" class="btn btn-info .edit-client" value="Edit" />
<input type="button" class="btn btn-danger" value="Delete" />
</td>
</tr>
</script>
불행하게도 나는 전체 응용 프로그램을 페이스트 빈 수는 없지만, 운과 내가 잘못 가고 어디 통지 비교적 간단해야한다 내가 제공 한 것. 분명히 나에게서 더 많은 세부 사항이 필요한 경우 물어보십시오.
당신을 감사해야합니다 귀하의 버튼에 class 속성에 잘못된 점 (.)이! 나는 약 2 시간 동안 자바 스크립트를 망쳐 놓고 있었고 마크 업에서 그렇게 단순 할 것이라고 생각하지 않았다. – JustinN