关于javascript:我的Backbone 下划线模板ReferenceError?

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
});

然后只有您可以使用下划线访问视图中的属性。