Charger dynamiquement modèle HTML dans angular2

J'ai créé un projet à l'aide de angular-cli qui contient AppComponent comme suit:

import { Component } from '@angular/core';
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  title = 'app works!';
}

Et app.component.html comme

<h1>
  Good Morning, {{title}}
</h1>

Donc quand j'ai le construire avec ng build il génère des fichiers comme ceci ./dist/main.bundle.js le contenu du code comme suit-

/* 586 */
/***/ function(module, exports) {

module.exports = "<h1>\n  Good Morning, {{title}}\n</h1>\n"

/***/ },
/* 587 */

Cela signifie que, au moment de la construction du compilateur/bundle-er est la lecture du fichier html et la concaténation de ceux qui dans le générés fichier js.

Mais dans mon cas, le html est aussi dynamique et axés sur le contenu à partir du serveur de côté. Permet de dire que, au lieu de html, mon fichier de modèle est app.composante.jsp et résidant sur une autre serveur ou un dossier tout à fait.

Également que le fichier JSP retourne parfois <h1>Good Morning, {{title}}</h1>
et parfois <h1>Good Afternoon, {{title}}</h1> en fonction de l'heure actuelle du serveur.

Comment obtenir cette fonctionnalité?

Ce que je comprends, c'est que, j'ai besoin de définir une sorte de chargeur de la fonction de dire : loadDynamicTemplate(template_url)

et ont besoin d'utiliser que le chargeur de fonction sur la Composante décorateur modèle de propriété. Dans ce cas, lorsque le main.bundle.JS est généré, il utilise cette fonction. Donc, en exécution angulaire fera appel de cette fonction et de charger le code HTML par ajax et l'utiliser.

Mise à jour de 1

Ici J'ai trouvé une différence entre les SystemJS et Webpack . J'ai aussi trouvé que nous pouvons charger les fichiers HTML au moment de l'exécution si nous pouvons utiliser SystemJS. Je crois donc que ce problème peut être résolu avec SystemJS de configuration. Mais pour qu'un autre problème vient dans la pièce, même si je crois ce que pourrait être une question distincte. Donc je l'ai posté une nouvelle question afin de faire le tri ici.

Probablement si cette question a été résolu, je vais essayer avec SystemJS et ensuite de poster la solution ici si ça aide.

  • Ce n'est pas trop commun dans Angular2. Voir stackoverflow.com/questions/34784778/...
  • Dans mon cas, tous mes composant aura le même comportement. Et il est vraiment difficile de définir l'ensemble de mes composants dynamiques. Donc en fait je suis à la recherche de ce genre. template: "<my-template url='./app.component.html'></my-template>". Ici my-template pourrait être une directive et il va charger le code HTML de façon dynamique. Aussi, il faut garder toutes les autres fonctionnalités intacte. Comme il se doit le travail même que templateUrl: './app.component.html'
  • Je comprends que ce n'est pas trop commun. En fait, j'ai un côté de serveur de système de gestion de contenu Adobe AEM. Qui je veux utiliser pour sa grande fonctionnalité de création. Depuis Angular2 est un grand cadre, je suis sûr qu'il doit y avoir un moyen de la contourner. (Sans changer donc beaucoup de code, Simplement je veux servir les modèles à l'exécution via AJAX appel seulement). S'il vous plaît aider.
  • Vous pouvez charger du HTML dans les composants existants, mais seulement HTML. Si vous à devenir Angulaire de composants, de directives ou de données ou en cas de liaison, il doit être dans le modèle d'un composant compilé.
  • avez-vous essayé le ng-dynamique de la bibliothèque ? Je pense qu'il a vraiment faire le travail : github.com/laco0416/ng-dynamic
  • Oui, je pense que cela pourrait fonctionner. Pouvez-vous s'il vous plaît répondre avec cette. De sorte que je peux sélectionner la réponse si j'ai eu du succès.
  • Avez-vous jamais comprendre ce AEM et d'angle 2 (ou 4) problème?