이런 종류의 질문은 제가 물어 본 또 다른 질문에서 나온 것입니다.하지만 내가 생각하는 사람은 다른 것을 설명하려고 시도했거나 내 자신의 권리를 설명하지 않았을 가능성이 큽니다.밑줄 템플릿 루프, 루프 없음?
그래서 모든 백본 코드가 작동하고 출력 권한 데이터가 표시됩니다. 이제 내 테스트 데이터를 설명하기 위해 17 열의 입력이 있었지만 _.each
루프를 만들지 않고도 약 17 번 반복되었는데 이유는 알 수 없습니다.
그래서 내 백본 코드,
var TimeSheetModel = Backbone.Model.extend({
defaults: {
Timesheetrow: "",
}
}); //End of Timesheet Model
var TimeSheetCollection = Backbone.Collection.extend({
model: TimeSheetModel,
url: '/dashboard/jsondata/' + TimesheetID()
}); //End of Timesheet Collection
var TimeSheetView = Backbone.View.extend({
el:'#testarea', //HTML loading area for the data
template: _.template($('#TimesheetData').html()), //Template to load the JSON data into
initialize: function(){
var NewTimeSheetCollection = new TimeSheetCollection(); //New Instance Of Collecttion
this.listenTo(NewTimeSheetCollection, "add", this.AddMyModel);
NewTimeSheetCollection.fetch();
},
AddMyModel: function(TimeSheetModel) { //apply model data to view template and append to view element
this.$el.append(this.template(TimeSheetModel.toJSON()));
//$(this.el).html(this.template(TimeSheetRowModel.toJSON()));
}
}); //End of Timesheet View
//New Instance & render call for the set Timesheet View.
NewTimeSheetVew = new TimeSheetView();
//NewTimeSheetVew.render(); <- do I need this? seems to work, without it?
});
그리고 내 밑줄 템플릿 코드는
<script type="text/template" id="TimesheetData">
<% console.log(Timesheetrow) %>
<% _(1).times(function(n){ n=2; }); //just a test bit of code %>
<% if(Timesheetrow.jobtitle) { %>
<form action="#" method="post" id="TimesheetDataList">
<div class="TimesheetRowData">
<input type="hidden" name="data[Timesheetrow][0][id]" value="<%= Timesheetrow.id %>">
<input type="type" name="data[Timesheetrow][0][jobtitle]" value="<%= Timesheetrow.jobtitle %>">
</div>
</form>
<% }; %>
</script>
나의 목표는 17 배 주위 루프, 하나의 마스터 양식을 가지고, 백본을 사용하는 것입니다 (또는 X, 사용자 지정 행에 따라 다름). 따라서, 예를 들어, 나는 같은 출력 할 것이다 :
<form id="ID-HERE">
<div><input value="XXXXX"></div>
<div><input value="XXXXX"></div>
<div><input value="XXXXX"></div>
<div><input value="XXXXX"></div>
<div><input value="XXXXX"></div>
</form>
하지만 내가 얻고있다 즉 17 번 루프, 그래서 자신의 폼 태그로 각각의 입력을, 그래서 나는 현재 나의 페이지 (17 개) 형태를 가지고있다.
모든 도움을 환영합니다.
내가 직접 설명하지 않았 으면 알려주세요. 난 실독증이있어서 제 철자법, 문법이 약간 어색 할 수도 있습니다.
감사합니다,
은. 연구 할 부분에 대해 명확한 초점을 제시합니다. 어떤 방법이 최선의 선택입니까? 또는 코드를 어떻게 작성하길 원합니까? 첫 번째 옵션은 더 많은 작업을 수행하는 백본을 얻고 템플릿을 조금 더 단순하게 만들어주기 때문에 최상의 것으로 보인다. –
나는 마스터 뷰와 자식 뷰 사이에서 코드를 분리하는 것을 좋아하지만, 요구 사항이 얼마나 복잡한 지에 따라 과도 할 수도 있습니다. 간단한 요구 사항을 위해 전체 양식의 템플리트와 개별 TimesheetRows의 템플리트가있는 중간 솔루션을 사용할 수도 있습니다. –
@ daniel-j-g 마스터/하위보기에 대한 예제가 좋은 사이트가 있습니까? 나는 Underscore & Backbone docs를 넘어 섰다.하지만 나는 이해하기에 가장 좋은 코드의 전체 예제가 아닌 코드의 작은 예제만을 제공하는 경향이 있기 때문에, 따라하기가 조금 어렵다. 그냥 날 수 있습니다 :) –