重写Backbonejs模型获取函数

Overriding Backbonejs model fetch function

本文关键字:函数 获取 模型 Backbonejs 重写      更新时间:2023-09-26

我正在使用Backbonej为车辆主机构建一个应用程序。我希望使用框架的读/写功能而不是使用HTTP请求来持久化我的一些模型。

在backbonejs.org上查看fetch方法的文档,并没有做太多解释。我假设我只需要重写save()和fetch()方法。

这可以很好地保存如下:

save: function () {
    var json = this.toJSON();
    console.log('Saving model state: ' + JSON.stringify(json));
    sdk.save_json_file('my_model.json', json);
}

对于fetch,我不太确定它应该是什么样子。我试过:

fetch: function () {
    var json = sdk.read_json_file('my_model.json');
    return json;
}

有人能教我如何正确地做这件事吗?

请尝试以下操作:

fetch: function(){
    this.set(this.parse(JSON.parse(sdk.read_json_file('my_model.json'))), {});
    return this;
}

在您的模型中,您需要指定url

MySampleModel = Backbone.Model.extend({
    url: 'my_model.json'
    ...
});

现在,如果你闻起来像

var mySampleModelInstance = new MySampleModel();
mySampleModelInstance.fetch();

将尝试加载您的json文件