gpt4 book ai didi

javascript - 为什么 fetch() 可以工作但 sync() 不能用于同一个 Backbone 集合?

转载 作者:行者123 更新时间:2023-11-29 22:05:32 24 4
gpt4 key购买 nike

我正在构建一个简单的 Backbone 应用程序。 “用户”集合如下所示:

//users collection module
module.exports = Backbone.Collection.extend({
url: '/api/users',
model: UserModel,
initialize: function() {
this.fetch();
}
});

app.js 文件如下所示:

var UserCollection = require('./collections/users.js');

(function() {
var users = new UserCollection();
users.sync();
})();

全部与 browserify 捆绑在一起。但是,当它在客户端执行时,fetch() 方法成功从服务器返回模型,但 sync() 方法产生错误:

Uncaught Error: A "url" property or function must be specified

有谁知道为什么对于同一个集合实例和 url 属性 fetch() 可能有效但 sync() 无效的明显原因?

最佳答案

http://backbonejs.org/#Model-sync

syncmodel.sync(方法,模型,[选项])使用 Backbone.sync 将模型状态持久保存到服务器。可以覆盖自定义行为。

fetchmodel.fetch([选项])通过委托(delegate)给 Backbone.sync 从服务器重置模型的状态。返回一个 jqXHR。如果模型从未填充过数据,或者如果您想确保拥有最新的服务器状态,这很有用。如果服务器的状态与当前属性不同,将触发“更改”事件。接受选项散列中的成功和错误回调,它们都作为参数传递(模型、响应、选项)。

// Poll every 10 seconds to keep the channel model up-to-date.
setInterval(function() {
channel.fetch();
}, 10000);

关于javascript - 为什么 fetch() 可以工作但 sync() 不能用于同一个 Backbone 集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21223964/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com