Wenn ich lese über NGRX, sehe ich verschiedene Möglichkeiten, einschließlich Shop:Was ist der beste Weg, um rxjs store in angular2/4 einzubinden, sollte es im Bootstrap oder Import sein?
Ein Weg, ich sehe, ist bei den Importen enthalten:
@NgModule({
imports: [
... omitted
StoreModule.provideStore(AppReducer),
],
declarations: [
AppComponent
],
bootstrap: [AppComponent]
})
export class AppModule {
}
Der andere Weg, den ich gesehen habe, ist es enthalten in Bootstrap:
import {bootstrap} from 'angular2/platform/browser';
import {App} from './src/app';
import {provideStore} from '@ngrx/store';
import {ItemsService, items, selectedItem} from './src/items';
bootstrap(App, [
ItemsService, // The actions that consume our store
provideStore({items, selectedItem}) // The store that defines our app state
])
.catch(err => console.error(err));
Welche ist korrekt und/oder ist die bewährte Best Practice? Warum?
Ich sehe eine zufällige app.module.ts Datei aus einem Projekt ohne rxjs Laden und frage mich, wo es richtig in einer Datei wie folgt gehen sollte:
https://github.com/AngularClass/angular2-webpack-starter/blob/master/src/app/app.module.ts
Schätzen alle optional alle Verweise auf wie " aktuelle "Mai 2017 eckige2/4-Anwendungen sollten in Bezug auf die Integration mit RxJS organisiert werden.
das shared Modul sollte in Feature-Module enthalten sein, sonst gibt es keinen Unterschied zwischen Core und Shared in Ihrem Bild. –
Wenn also der Store die "Datenbank" für die Anwendung sein soll, was ist der Unterschied zwischen "Store" in CoreModule und "Store" in SharedModule? https://gitlab.com/linagora/petals-cockpit/blob/master/frontend/src/app/shared/shared.module.ts Benötigen nicht alle Komponenten in der Anwendung den Speicher, auf den von allen Funktionen zugegriffen werden kann/Komponenten der Anwendung? – Rolando
Mein Problem, ich brauche 'StoreModule' nicht in' SharedModule'. Warum: 'StoreModule' importiert einen Dienst, und Dienste sind für untergeordnete Module verfügbar (auch solche, die im Gegensatz zu Komponenten und Pipes lazy loaded sind). Also, theoretisch wollen wir es "teilen", da wir unseren Laden von der ganzen App aus nutzen. Aber während wir es aus CoreModule mit forRoot importieren, um unseren Root Reducer zu übergeben, müssen wir es nicht noch einmal in SharedModule laden. (hoffe ich bin klar). – Maxime