【问题标题】:Does backbone model has any id assigned by backbone framework骨干模型是否具有骨干框架分配的任何 id
【发布时间】:2014-01-03 12:51:16
【问题描述】:

是否有分配给主干模型的 id 以由 Backbone.js 唯一标识它?如果是,如何访问它?

情况是我有一组模型,它显示为网格视图,每行有一个复选框,如果复选框 ids 检查我想获得选中的行模型。

【问题讨论】:

    标签: backbone.js marionette backbone.js-collections backbone-model


    【解决方案1】:

    类似cid?,您可以通过以下方式访问它:

    model.cid
    

    我认为你不需要使用它,你可以使用id,或者,如果模型没有保存到数据库中,可以使用自定义属性来表示每个模型(例如 rowIndex)。

    model.id
    model.get("customAttr")
    

    如果问题是访问检查了哪个模型,我认为您可以在复选框上使用data 从视图中访问它。

    这是很多假设,但我希望它有所帮助。

    【讨论】:

    • 是的,但不能保证如果模型被破坏,给定的 cid 将不会被重用。
    【解决方案2】:

    在您拥有从主干生成的 cid 的模型上,您可以通过以下方式获得它:

    console.log( myModel.cid );
    

    如果您在将模型 JSON 表示移交给您的模板时想要模型 JSON 中的 cid,您可以根据需要覆盖模型的 toJSON 方法:

    var myModel = Backbone.Model.extend({
    
      toJSON: function() {
        var json = _.clone(this.attributes);
        json.cid = this.cid;
        return json;
      }
    
    });
    

    【讨论】:

      猜你喜欢
      • 2012-01-13
      • 1970-01-01
      • 2013-10-14
      • 1970-01-01
      • 1970-01-01
      • 2014-06-25
      • 2012-05-04
      • 2012-02-13
      • 1970-01-01
      相关资源
      最近更新 更多