我的主干下划线模板引用错误

My Backbone Underscore Template ReferenceError?

本文关键字:引用 错误 下划线 我的      更新时间:2023-09-26

:: 更新 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>

现在,这确实控制台记录了我的所有客户端数据,没有任何问题,我也可以每个/将此数据打印到我的"测试区域"div中。

但是在我的控制台日志中,我得到,

 Uncaught ReferenceError: Client is not defined

现在从我所读到的内容来看,这似乎是因为我试图作为对象 (?) 进行访问,并且 toJSON 返回一个字符串 - 如果我有错误,请纠正我的理解?

但我不明白的是,如果我返回了错误的输出类型,我怎么还能访问数据?我应该如何处理它,我怎样才能让我的 toJSON 返回一个对象?

谢谢

您的模型中是否有"客户端"属性?

例如:

var TimeSheetRowModel = Backbone.Model.extend({
    Client: ""// some value
});

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