quelqu'un peut m'aider à écrire angular2 @RouteConfig avec tapuscrit sans inclure le composant dans le haut du fichier et sans System.import dans le fichier ts indique comment acheminer dynamiquement l'ajout dans la classe de composant du formulaire @RouteConfig.sans inclure comment je peux utiliser Async Route, ou comment ajouter dynamiquement dans @RouteConfig
0
A
Répondre
1
Vous pouvez exploiter Async
routes pour cela. En fonction de la configuration de votre itinéraire, vous pouvez charger une route à partir de modules. Dans ce cas, vous devez ajouter le chemin du module pour que les composants soient associés aux routes.
Voici un exemple:
var routes = {
path: '/path',
name: 'some name',
module: './my.component',
component: 'MyComponentName'
}
routes.forEach((route : any) => {
this.routeConfigArray.push(
new AsyncRoute({
path : route.path,
loader :() => System.import(route.module).then(m => m[route.component]),
name : route.name
});
);
});
this._router.config(this.routeConfigArray);
Une autre approche pourrait être d'ajouter une fonction pour obtenir le nom des fonctions. Sur cette base, vous pouvez vérifier si vous avez un composant potentiel correspondant.
Voici un exemple:
ngOnInit() {
this.routes = [
{
path: '/test', component: 'OtherComponent', name: 'Test'
}
];
this.configureRoutes(this.routes);
this.router.config(this.routes);
}
configureRoutes(routes) {
var potentialComponents = [ OtherComponent ];
routes.forEach((route) => {
route.component = potentialComponents.find((component) => {
return component.name === route.component;
});
});
}
Voir cette plunkr: https://plnkr.co/edit/KKVagp?p=preview.
Je ne l'ai pas essayé moi-même.
Voir cette question pour plus de détails:
Je veux également importer composants dynamiquement – Kamruzzaman
ohh je ne sais pas à ce sujet désolé .. –