[英]My Backbone Underscore Template ReferenceError?
::更新2 ::
这是我当前的模板,
<script type="text/template" id="TimesheetData">
<form action="#" method="post" id="TimesheetDataList">
<% if(Timesheetrow.jobtitle) { %>
<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>
每个职位的名称都有其自己的形式,而不是一种形式(这是我所需要的),而是很多表格标签,每个标签都有我的一个职位
谢谢,
::更新::
这就是我的模型
var TimeSheetRowModel = Backbone.Model.extend({
defaults: {
Timesheetrow: "",
Client: "",
Customer: ""
}
});
好的,我已经完成了大部分工作,但是由于某种原因,我无法在控制台日志中清除RefernceError。 但是我确实(认为)我知道它的存在方式,但不确定如何进行分类。
所以我的主干代码:
var TimeSheetRowModel = Backbone.Model.extend({});
var TimeSheetRowCol = Backbone.Collection.extend({
model: TimeSheetRowModel,
url: '/dashboard/jsondata/' + GetTimesheetID
});
var NewTimeSheetCollection = new TimeSheetRowCol(); //New Instance Of Collecttion
var TimeSheetView = Backbone.View.extend({
el:'#testarea', //HTML loading area for the data
template: _.template( $('#Timesheet-Data').html() ), //Template to load the JSON data into
initialize: function(){
this.listenTo(NewTimeSheetCollection, "add", this.AddMyModel);
NewTimeSheetCollection.fetch();
},
AddMyModel: function(TimeSheetRowModel) { //apply model data to view template and append to view element
//console.log( this.$el.append(this.template(TimeSheetRowModel.toJSON()[0])) );
$(this.el).html(this.template(TimeSheetRowModel.toJSON()));
}
});
var NewTimeSheetVew = new TimeSheetView(); //New Instance Of The View
NewTimeSheetVew.render(); //Render Out The View Instance
还有我的下划线代码:
<script type="text/template" id="Timesheet-Data">
<%= console.log(Client) %>
</script>
现在这确实可以控制台记录我所有的客户端数据,没有任何问题,我也可以将每个数据/打印到我的“ testarea” div中。
但是在我的控制台日志中,
Uncaught ReferenceError: Client is not defined
现在,从我阅读的内容来看,这似乎是因为我试图作为一个对象(?)访问,并且toJSON返回一个字符串-如果我输入错误,请更正我的理解吗?
但是,我不明白的是,如果我返回的输出类型错误,如何仍可以访问数据? 以及应该如何处理,如何使toJSON返回一个对象?
谢谢,
您的模型中是否具有“客户”属性?
例如:
var TimeSheetRowModel = Backbone.Model.extend({
Client: ""// some value
});
然后,只有您可以使用下划线访问视图中的属性。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.