如何防止ember-data发送请求到服务器?

flp*_*pms 3 javascript ember.js ember-data

我有一条路线,用户可以为您的帐户选择更多选项.但是当我进入这条路线时,ember会向我的API发送一个GET.我是如何避免这种情况的,因为我有我需要的信息.

我正在使用Ember JS 2x.

import Ember from 'ember';

export default Ember.Route.extend({
    searchPlaces: Ember.inject.service(),
    model() {
        return this.store.findAll('user');
    },
    afterModel(model) {
        let token = model.get('token');
        let places = model.get('places');

        this.set('places', places);
        this.set('token', token);
    }
});
Run Code Online (Sandbox Code Playgroud)

Jam*_*sen 5

首先,我建议阅读DS.StoreAPI文档.有四种方法似乎相关:

  • findRecord - 返回Promise,首先尝试内存,然后是API调用
  • findAll- 喜欢findRecord,但是对于所有类型的记录
  • peekRecord- 如果记录已经在内存中,或者null如果没有,则返回记录; 没有进行API调用
  • peekAll- 返回Array已存在于内存中的类型的记录

如果您想避免API查找,我怀疑您想要打电话store.peekRecordstore.peekAll在您的路线中.