adopted-ember-addons / adopted-ember-addons/ember-data-model-fragments

Computed properties won't update on changes to nested model fragements

Offen
#223 17 Kommentare 4 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
TypeScript
Sterne
367
Forks
108
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

I have the following models:

```javascript
// app/models/user.js
import Model from 'ember-data/model';
import {
fragment
} from 'model-fragments/attributes';

export default Model.extend({
family : fragment('family')
// other attrs
});
```

```javascript
// app/models/family.js
import Model from 'ember-data/model';
import {
fragment
} from 'model-fragments/attributes';

export default Model.extend({
spouse : fragment('personal'),
mother : fragment('personal'),
father : fragment('personal')
// other attrs
});
```

```javascript
// app/models/personal.js
import attr from 'ember-data/attr';
import Fragment from 'model-fragments/fragment';

export default Fragment.extend({
firstName : attr('string'),
lastName : attr('string'),
activeInsurance : attr() // This is not 'boolean' as it can be three-state: null, true & false
});
```

If I have an instance of the `user.family` model (let's say passed into a component), and I have a computed property which observes that model, cached result of the computed property won't be updated when the nested fragments data is changed:

```javascript
// This computed property won't react to changes on any family member
allFamilyHasInsurance: computed('myUser.family', function() {
//...
}),
```

Beitragsleitfaden

Beitragsleitfaden öffnen

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.