【问题标题】:Backbone.js: urlRoot with http query string?Backbone.js:带有http查询字符串的urlRoot?
【发布时间】:2012-04-10 16:02:01
【问题描述】:

Backbone.js 中,我可以指定模型从哪里获取数据:

var Book = Backbone.Model.extend({urlRoot : '/books'});
var mybook = new Book({id: "1"});
mybook.fetch();  //it will access '/books/1'

但是如果我想在 URL 之后附加一个查询字符串呢?例如图书数据位于/books/1&details=true。我可以在模型中指定吗?

【问题讨论】:

    标签: javascript model-view-controller backbone.js


    【解决方案1】:

    您也可以使用方法 fetch 的选项

    mybook.fetch({data:{details: true}});
    

    【讨论】:

    • 虽然接受的评论有效,但这似乎是“骨干方式”
    • 我希望有一种方法可以在模型/集合级别定义它。这样,您每次调用 fetch 时都必须传递 data,如果您可以在模型本身上设置一次 data,那就太好了。
    【解决方案2】:

    您必须为模型使用自定义 url 函数。

    Book.url = function() {
      return this.urlRoot + '/' + this.id + '?details=true';
    };
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-07-27
      • 2010-12-31
      • 2012-10-07
      • 2012-03-23
      • 2017-04-17
      • 1970-01-01
      • 2013-03-26
      相关资源
      最近更新 更多