Comments (4)
Yes, it's a quirk of Angular's dependency injection. The DI system is lazy in that it waits to execute the setup code for the dependency until the dependency is actually needed. So if you don't actually inject Ad or Classified before that route resolve is executed, then those resources actually haven't yet been registered with the data store.
One way I get around it is the inject all my resources into the .run
function of my angular app.
from js-data.
@demisx, this is how all of my factories look:
.factory('Classified', function(DS) {
return DS.defineResource({
name: 'classified',
endpoint: '/classifieds',
relations: {
hasMany: {
ad: {
foreignKey: 'adId',
localField: 'ad'
}
}
}
});
}).run(function(Classified) {}); // this line
That way the file that creates it also makes sure that it runs :-)
from js-data.
@kentcdodds Aha! I like that. Thank you Kent. Would be great to capture this in the docs as well.
from js-data.
@kentcdodds Nice tip!
With strictdi = true
and (ES6), I use .run(['Classified', () => {}]
from js-data.
Related Issues (20)
- 4.0.0 Release
- Record & Schema Classes
- Refactor code to use ecmascript Classes
- Publish all packages under @js-data team/scope
- Lerna mono repo? HOT 3
- Improve relations logic HOT 5
- jsdoc - api docs
- make orderBy work with locality by using Intl.collator
- Maximum call stack size exceeded when related models have different idAttribute
- datastore.get(mapper, '') returns a record (v3)
- Defining relations results to error when the Mapper recordClass is set to false (POJO) HOT 2
- Node6 incompatibilities with `querystrings` HOT 6
- hasOne relations aren't found in store for newly added records
- Hooks not working on mappers
- 🚨 Potential Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') (CWE-1321) HOT 3
- 🚨 Potential Improperly Controlled Modification of Object Prototype Attributes ('Prototype Pollution') (CWE-1321) HOT 7
- Trying to get in touch regarding a security issue
- SimpleStore doesn't support eager loading
- Getting 'DSUtils.deepMixIn' undefined when upgrading js-data package. HOT 1
- Lack of redirect from js-data.io to www.js-data.io HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from js-data.