-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Suggested Use For WatchQuery on Data-Loading Components #292
Comments
Also I have verified that the cache is changing for the query and the computed property is not changing. |
@topbloc-beiswenger This is a good question. I actually don't know the best way to do this at the moment. I have achieved this in the past using Below is an example of that. export default class NoteListcomponent extends Component.extend({
fetch: task(function*() {
try {
return yield this.apollo.watchQuery({
query: MY_QUERY,
});
} catch(e) {
console.log(e)
}
})
}) {
@service
public apollo;
@computed('fetch.last'))
get notes() {
if (this.fetch.last.value) {
return this.fetch.last.value.notes
}
return [];
}
}``
Hopefully, this gives you some light.
I will keep this issue open so we can work on documenting this. |
@josemarluedke Thanks for the response. After doing some digging through other repos that use this library, I stumbled upon ember-caluma which uses similar patterns with ember-concurrency. Still not convinced that this is the best way to do this. It would be really nice nice if we could somehow use an observable in a computed property. |
I was unable to find anything in the docs, tutorials, or example projects about how to exactly use watch queries in data-loading components. From the docs, I know that I can use the
ComponentQueryManager
which will track active watch queries and unsubscribe when the component is destroyed. I also know thatwatchQuery
will return anEmber.Object
and can be used in computed properties. What I don't know is how an actual implementation looks. Based on the above information, I would assume that the following works but it does not.The computed property never gets updated even though it is utilized in the template.
The text was updated successfully, but these errors were encountered: