https://github.com/playerx/angular-redux-dynamic-modules
https://github.com/playerx/angular-redux-dynamic-modules
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/playerx/angular-redux-dynamic-modules
- Owner: playerx
- Created: 2017-10-10T06:57:52.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-11-18T14:52:55.000Z (over 8 years ago)
- Last Synced: 2025-01-19T21:47:31.121Z (over 1 year ago)
- Language: TypeScript
- Size: 23.4 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Dynamic modules configuration for Angular Redux
Works with async modules too.
## How to use:
App module:
```ts
import { StoreModule } from 'angular-redux-dynamic-modules';
@NgModule({
declarations: [
AppComponent
],
imports: [
...
StoreModule,
...
UserModule,
HRModule,
],
bootstrap: [AppComponent]
})
export class AppModule { }
```
User Module (for example):
```ts
import { StoreConfigService } from 'angular-redux-dynamic-modules';
@NgModule({
imports: [
CommonModule,
],
providers: [Actions, UserService, Epics],
})
export class UserModule {
constructor(
storeConfig: StoreConfigService,
epics: Epics
) {
// Register State
storeConfig.addModule(
'User',
InitialState,
reducer,
[epics]
);
}
}
```
Dispatching Actions:
```ts
import { Dispatcher } from 'angular-redux-dynamic-modules';
import * as user from '@modules/user';
import * as hr from '@modules/hr';
export class MainComponent implements OnInit {
constructor(
private store: Dispatcher
) { }
ngOnInit() {
this.store.dispatch({
type: hr.ActionType.LoadList,
filterName: '',
filterSurname: ''
});
}
}
```
Also please check out:
[Example App](https://github.com/playerx/angular-redux)