0

假设我有一辆模型车,我可以买到所有的车

cars = App.Car.find()

如何遍历所有汽车以更改每辆汽车的属性(类似于cars.each do |car|Ruby)?对于一辆车,我会这样做,car.set('colour', 'blue');但我缺乏对 JavaScript 的理解来解决这个琐碎的问题。

4

3 回答 3

3

如何循环遍历所有汽车以更改每辆汽车的属性(例如,在 Ruby 中,cars.each do |car|)?

返回的对象App.Car.find()是一个 Enumberable,因此您可以使用Ember.EnumerableAPI 访问子对象。例如,您可以:

cars.forEach(function(car) {
  car.set('colour', 'blue');
});

但在这种情况下,使用以下方法会更有效setEach

cars.setEach('colour', 'blue');

Enumberables API 为您提供了很多选择,请参阅 ember enumerables 指南enumberables api doc

于 2013-04-03T12:26:52.280 回答
1

您可以Ember.Enumerable#setEach为此使用:

cars = App.Car.find();
cars.setEach('colour', 'le blue');
于 2013-04-03T12:25:07.170 回答
0

如果find()返回一个数组,可以使用Array.prototype.map MDN

cars = cars.map(function (car) {
  return car.set('colour', 'blue');
});

还有用于映射 ember enumerables的特定文档。

于 2013-04-03T12:21:22.323 回答