在不同模型中获取模型ID可以在骨干中创建表单?

时间:2013-11-19 09:41:54

标签: javascript backbone.js

我正在研究骨干项目,并在尝试创建新模型时遇到一些问题。

我有一个应用程序有两个不同的模型,其中一个依赖于另一个。

我的模型是书籍和作者,为了创作一本书,我需要作者的身份。 这就是我的问题所在,我不知道如何使用主干?

如果我不够精确,请询问。

谢谢!

2 个答案:

答案 0 :(得分:1)

这样的事情怎么样:

// create Book model
var book = Backbone.Model.extend({
    defaults: {
        Title: "",
        Desc: "",
        Author: 0
    }
});

// create Author model
var author = Backbone.Model.extend({
    defaults: {
        Name: "",
        ID: 1
    }
});


var markTwain = new author({
    Name: "Mark Twain"
});

var huckleberryFinn = new book({
    Author: markTwain.get("ID")
});

console.log(huckleberryFinn);

答案 1 :(得分:0)

我认为你要找的是一个子集合。您将最终拥有一个包含Autors模型的作者集合。然后,您可以将书籍集合附加到每个持有书籍模型的作者。未经测试的提案:

var Books = Backbone.Collection.extend({
  initialize: function(options){
   this.author = options.author;
   var authorid = this.author.get("id");
  }
});

var Author = Backbone.Model.extend({
 initialize: function(){
   this.books = new Books( {author:this} );
 }
});