My Backbone Underscore Template ReferenceError?
::更新2 ::
这是我当前的模板,
1 2 3 4 5 6 7 8 9 10 11 12 13 | <script type="text/template" id="TimesheetData"> <form action="#" method="post" id="TimesheetDataList"> <% if(Timesheetrow.jobtitle) { %> <input type="hidden" name="data[Timesheetrow][0][id]" value="<%= Timesheetrow.id %>"> <input type="type" name="data[Timesheetrow][0][jobtitle]" value="<%= Timesheetrow.jobtitle %>"> <% }; %> </form> |
每个职位都有其自己的形式,而不是一种形式(这是我需要的形式),而是很多形式标签,每个都有我的一个职务
谢谢,
::更新::
这就是我的模型了
1 2 3 4 5 6 7 | var TimeSheetRowModel = Backbone.Model.extend({ defaults: { Timesheetrow:"", Client:"", Customer:"" } }); |
好的,我已经完成了大部分工作,但是由于某些原因,我无法在控制台日志中清除RefernceError。但是我确实(认为)我知道它的存在方式,但不确定如何进行分类。
所以我的主干网代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | 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 |
我的下划线代码:
1 2 3 | <script type="text/template" id="Timesheet-Data"> <%= console.log(Client) %> |
现在这确实可以控制台记录我的所有客户端数据,没有任何问题,我也可以将每个数据/打印到我的" testarea" div中。
但是在我的控制台日志中,
1 | Uncaught ReferenceError: Client is not defined |
现在从我阅读的内容来看,这似乎是因为我试图作为一个对象(?)访问,并且toJSON返回一个字符串-如果我输入错了,请更正我的理解吗?
但是我不明白的是,如果我返回了错误的输出类型,如何仍然可以访问数据?以及应该如何处理,如何使toJSON返回一个对象?
谢谢,
您的模型中是否具有" Client "属性?
例如:
1 2 3 4 | var TimeSheetRowModel = Backbone.Model.extend({ Client:""// some value }); |
然后只有您可以使用下划线访问视图中的属性。