【问题标题】:Overriding model's urlRoot to a function fails将模型的 urlRoot 覆盖到函数失败
【发布时间】:2012-06-05 05:08:50
【问题描述】:

当我尝试覆盖模型的 urlRoot 属性并对该模型进行提取时,urlRoot 实际上将整个函数作为字符串返回。以下是被覆盖的 urlRoot 的样子:

urlRoot: function() {
  return "test";
},

它返回以下内容: http://localhost:8000/items/function%20()%20%7B%20%20%20%20%20%20return%20%22test%22;%20%20%20%20%7D

另外,URL 的项目部分来自哪里?

【问题讨论】:

  • 该模型还发生了什么?是否涉及收藏?
  • 正如@muistooshort 所说,有些东西我们没有看到,例如:这个/items url 令牌来自哪里?
  • 您使用的是哪个版本的 Backbone?我不确定旧版本是否允许 urlRoot 成为函数。
  • @mu 太短了,我用的是最新版的主干。你认为这与我使用骨干美味有关吗?这就是我在模型中的全部内容。过去,我遇到过很多关于骨干美味的问题。

标签: javascript backbone.js


【解决方案1】:

URLRoot 应该是一个静态字符串

  • 在构造过程中定义或

  • 运行时

如果逻辑在于 url 的构造,您可以将 URl 覆盖为 function

示例

Backbone.Model.extend({

..
urlRoot:"test",
url:function(){

return this.urlRoot + "/" + this.cid;

},
..

}):

【讨论】:

猜你喜欢
  • 2018-09-17
  • 2012-05-28
  • 1970-01-01
  • 2018-07-08
  • 2021-06-23
  • 2013-07-27
  • 1970-01-01
  • 2019-06-11
  • 2013-04-06
相关资源
最近更新 更多