Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Backbone.js 具有主干关系的主干JS嵌套模型_Backbone.js_Backbone Relational - Fatal编程技术网

Backbone.js 具有主干关系的主干JS嵌套模型

Backbone.js 具有主干关系的主干JS嵌套模型,backbone.js,backbone-relational,Backbone.js,Backbone Relational,我正在尝试用关系主干实现主干 索赔模式: define(['underscore', 'backbone', 'backbone-relational', 'models/User'], function(_, Backbone, relational, User) { var Claim = Backbone.RelationalModel.extend({ relations: [{ type: Backbone.HasOne, key: 'a_user',

我正在尝试用关系主干实现主干

索赔模式:

define(['underscore', 'backbone', 'backbone-relational', 'models/User'], function(_, Backbone, relational, User) {
  var Claim = Backbone.RelationalModel.extend({

  relations: [{
      type: Backbone.HasOne,
      key: 'a_user',
      relatedModel: User
  }],

  defaults: {
  },

  initialize: function() {
  },

  clear: function() {
    this.destroy();
    this.view.remove();
  }

  });
  return Claim;
});
用户模型是重复的,但未设置任何关系

下面是收集对象:

Object
_byCid: Object
_byId: Object
_callbacks: Object
currentPage: 1
firstPage: 1
information: Object
length: 3
models: Array[3]
0: Object
1: Object
    _callbacks: Object
    _deferProcessing: false
    _escapedAttributes: Object
    _isInitialized: true
    _pending: Object
    _permitsUsed: 0
    _previousAttributes: Object
    _queue: Object
    _relations: Array[1]
    _silent: Object
    attributes: Object
       _deleted: false
       _new: false
       a_user: Object
           _callbacks: Object
           _escapedAttributes: Object
           _isInitialized: true
           _pending: Object
           _permitsUsed: 0
           _previousAttributes: Object
           _queue: Object
           _relations: Array[0]
           _silent: Object
           attributes: Object
               _deleted: false
               _new: false
               already_in_save: false
               already_in_validation: false
               coll_claims: Array[0]
               coll_claims_partial: true
               created_at: "2012-12-12 09:00:00"
               email: "cloud.strife@test.com"
               firstname: "Cloud"
               id: 2
               lastname: "Strife"
               modified_at: "2012-12-12 09:00:00"
               modified_columns: Array[0]
               start_copy: false
               title: "Mr"
               validation_failures: Array[0]
               virtual_columns: Array[0]
               __proto__: Object
               changed: Object
               cid: "c4"
               collection: undefined
               id: 2
               __proto__: Object
               already_in_save: false
               already_in_validation: false
      created_at: "2012-12-12 09:00:00"
      fulfilment: "bank"
      id: 2
      manual: 0
      modified_at: "2012-12-12 09:00:00"
      modified_columns: Array[0]
      promotion_id: 1
      purchase_id: 2
      start_copy: false
      status: "pending"
      user_id: 2
      validation_failures: Array[0]
      virtual_columns: Array[0]
      __proto__: Object
      changed: Object
      cid: "c3"
  collection: Object
  id: 2
  __proto__: Object
  2: Object
  length: 3
因此,集合中基本上有3个声明模型,每个声明模型在属性键a_User处有一个嵌套的User模型

该模板如下所示:

<% _.each( claims, function( item ){ %>
    <tr>
        <td><%= item.get("id") %></td>
        <td><%= item.get("promotion_id") %></td>
        <td><%= item.get("a_user").get("firstname") %></td>
        <td><%= item.get("purchase_id") %></td>
    <td></td>
        <td><%= item.get("status") %></td>
        <td><%= item.get("created_at") %></td>
    </tr>
<% }); %>
如果我把它带回item.get(“a_user”),它会显示输出[object]


我只是在学习主干,所以任何指针都是值得赞赏的。

您不应该在模板中使用
get
——下划线模板使用JSON,而不是主干模型对象(您使用
模板(model.toJSON())
将模型传递给模板),因此应该使用基本点符号对它们进行评估:

<tr>
    <td><%= item.id %></td>
    <td><%= item.promotion_id %></td>
</tr>

谢谢,我还读到,也许我不应该在模板内循环,而应该在集合视图内循环,并呈现单一模板?null不是我遇到的对象,这与没有正确地从数据库中拖动内容有关。
<tr>
    <td><%= item.id %></td>
    <td><%= item.promotion_id %></td>
</tr>