Resources for reactive data fetching with ember-data's store
service.
- ember-source v3.28 or above
- ember-data v3.28 or above
- ember-auto-import v2 or above
- ember-resources v5.3 or above
- typescript v4.8 or above
npm add ember-data-resources
import { findAll } from 'ember-data-resources';
export default class MyComponent extends Component {
@tracked included = '';
blog = findAll(this, 'blog', () => ({ included: this.included }));
// blog = findAll(this, 'blog');
}
in a template
in strict mode
See: First-class Component Templates
import { FindAll } from 'ember-data-resources';
<template>
{{#let (FindAll 'blog') as |blogs|}}
...
{{/let}}
</template>
import { findRecord } from 'ember-data-resources';
export default class MyComponent extends Component {
@tracked id = 1;
blog = findRecord(this, 'blog', () => this.id)
// blog = findRecord(this, 'blog', () => [this.id])
// blog = findRecord(this, 'blog', () => [this.id, { ...options }])
}
in a template
in strict mode
See: First-class Component Templates
import { FindRecord } from 'ember-data-resources';
<template>
{{#let (FindRecord 'blog' @id) as |blog|}}
...
{{/let}}
</template>
import { query } from 'ember-data-resources';
export default class MyComponent extends Component {
blog = query(this, 'blog', () => ({ ...query }));
// blog = query(this, 'blog', () => [{ ...query }]);
// blog = query(this, 'blog', () => [{ ...query }, { ...options }]);
}
in a template
in strict mode
See: First-class Component Templates
import { Query } from 'ember-data-resources';
<template>
{{#let (Query 'blog' (hash ...)) as |blogs|}}
...
{{/let}}
</template>
import { queryRecord } from 'ember-data-resources';
export default class MyComponent extends Component {
@tracked id = 1;
blog = queryRecord(this, 'blog', () => ({ ...query }))
// blog = findRecord(this, 'blog', () => [{ ...query }])
// blog = findRecord(this, 'blog', () => [{ ...query }, { ...options }])
}
in a template
in strict mode
See: First-class Component Templates
import { QueryRecord } from 'ember-data-resources';
<template>
{{#let (QueryRecord 'blog' (hash ...)) as |blog|}}
...
{{/let}}
</template>
See the Contributing guide for details.
This project is licensed under the MIT License.