我正在构建一个简单的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
有谁知道一个明显的原因,为什么fetch()可以工作,但对于同一集合实例和url属性却不能同步()?
http://backbonejs.org/#Model-sync
syncmodel.sync(方法,模型,[选项])使用Backbone.sync将模型的状态持久保存到服务器。可以因自定义行为而被覆盖。
fetchmodel.fetch([options])通过委派给Backbone.sync从服务器重置模型的状态。返回jqXHR。如果模型从未填充过数据,或者您想确保自己具有最新的服务器状态,则很有用。如果服务器的状态不同于当前属性,将触发“更改”事件。接受选项哈希中的成功和错误回调,它们均作为参数传递(模型,响应,选项)。
// Poll every 10 seconds to keep the channel model up-to-date.
setInterval(function() {
channel.fetch();
}, 10000);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句