代码之家  ›  专栏  ›  技术社区  ›  AmazingDayToday

Ember:如何获取在Route->Model返回的文件的值

  •  0
  • AmazingDayToday  · 技术社区  · 6 年前
    import Route from '@ember/routing/route';
    
    export default Route.extend({
        model() {
            return this.get('store').findAll('rentals');
        }
    });
    

    上面的代码返回所有租金,例如10个对象。现在,我想获得第一个、最后一个,甚至多个,但无法。尝试:

    return this.get('store').findAll('rentals')[0];
    return this.get('store').findAll('rentals').get(0);
    return this.get('store').findAll('rentals').firstObject;
    return this.get('store').findAll('rentals').slice(0, 2);
    return this.get('store').findAll('rentals').splice(0, 2);
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   pawels    6 年前

    您尝试在何处执行此代码?在控制器中?然后 this.get('model.firstObject') 应该有用。

    在其他情况下,可能不会 findAll 返回承诺。因此,您应该确保等待此承诺得到解决,例如:

    this.get('store').findAll('rentals').then(loadedRentals => {
        // Here we have access to 'rental' objects
    
        loadedRentals.forEach(r => console.log(`Rental ${r} is fully loaded`));
    }