gpt4 book ai didi

javascript - 在 Backbone.js 中获取和检索数据的正确方法

转载 作者:行者123 更新时间:2023-11-29 22:09:23 25 4
gpt4 key购买 nike

我试图了解在使用 Backbone.js 获取数据后如何以及在何处使用数据,但我有点困惑。
我会说明情况。
我有一个应用程序,在启动时从服务器获取一些数据。三种不同类型的数据。
让我们假设飞机、自行车、汽车。
为此,我在三个集合(飞机、汽车、自行车)中插入了获取这些数据的 url。
我已经覆盖了 parse 方法,所以我可以修改我得到的字符串,对其进行排序,并将其放入一个对象和本地存储中。我需要它是持久的,因为我需要使用这 3 个数据结构。
因此,通过获取,我获取了所有这些数据并将它们放入本地存储中。这样做是否正确?

现在我需要对服务器进行其他调用,比如“叫最近的车”。
在 View 中,我需要查看汽车的颜色、名称和型号,所有这些信息都在本地存储中的“Cars”对象中。
在我的 View “showcars.view”中,我只是调用了一个非 Backbone js(不是集合、模型或 View ),在那里我获得了我需要的所有信息。在这个 js 中,我这样做:

var carmodel = new Car(); //car is the backbone model of the cars
carmodel.url = '/get/nearest/car'; //that give id of the nearest car
carmodel.fetch ({
success: function () {}
//here i search the Cars object for a car with the same id
//and get name, color, model and put them in sessionstorage
})

所以在那个调用之后,在 View 中我可以从 session 存储中获取我需要的数据。这是一种糟糕的做事方式吗?如果是这样,我应该如何获取和分析这些信息?我应该在模型内部进行所有调用和操作吗?
谢谢

最佳答案

这将是您实现所需内容的方式。

var Car = Backbone.Model.extend();
var Cars = Backbone.Collection.extend({
model: Car,
url: '.../cars'
});
var NearestCar = Backbone.Model.extend({
url: '...nearest/car'
});

var cars = new Cars();
var nearestCar = new NeaerestCar();
cars.fetch({
success: function() {
nearestCar.fetch({
success: function(model) {
var oneYouWant = cars.get(model.get('id'));
// do something with your car
// e.g.:
// var carView = new CarView({model: oneYouWant});
// $('body').append(carView.render().el);
});
});
});
});

关于javascript - 在 Backbone.js 中获取和检索数据的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18913201/

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