Ich benutze angular2 um mehrere UI Module zu boosten, wenn meine Webseite die Komponenten Selektoren hat. Ich kann kein Haupt-App-Element verwenden und alle meine Inhalte darin einfügen. Ich möchte jedoch irgendwie Variablen an jede Komponente übergeben.Wie man Variablen an Module und Komponenten in angular2 übergibt
Mein init.ts
System.import('@angular/platform-browser_dynamic').then(function(pbd) {
const platform = pbd.platformBrowserDynamic();
// I will put all my modules information here
const modules = {
'my-app': {
selector: 'my-app',
file: 'myapp',
import: 'MyAppModule'
}
};
// Loop through my settings object and look for modules/components to be bootstrapped if their selector exists on the current page
for(var module in modules) {
if(document.querySelectorAll(modules[module].selector).length > 0) {
System.import('app/modules/' + modules[module].file)
.then(function(m) {
platform.bootstrapModule(m[modules[module].import]);
});
}
}
});
Mein modules/myapp.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { MyAppComponent } from 'app/components/myapp';
@NgModule({
imports: [ BrowserModule ],
declarations: [ MyAppComponent ],
bootstrap: [ MyAppComponent ]
})
export class MyAppComponent {
// maybe dynamically bootstrap components here
}
Mein component/myapp.ts
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
template: 'Hello World'
})
export class MyAppComponent {
// or import data here
}
Mein letzter Punkt irgendwie wäre der Lage sein, in Element passieren Attribute ihrer Komponenten. Ich habe versucht, ElementRef
, die zuvor in angular2 Komponenten, aber nicht mehr in 2.0.0 (nicht ein Release-Kandidat mehr) gearbeitet.
So bin ich irgendwie verloren.