Angular2, générique superposition composant pour tous les autres composants à l'intérieur de l'app

J'ai les deux composants suivants:

superposition

@Component({
    selector: 'overlay',
    template: '<div class="check"><ng-content></ng-content></div>'
})
export class Overlay {
    save(params) {
        //bunch of stuff that are commonly used
    }
}

myComponent (il y a beaucoup plus de ce genre)

@Component({
    selector: 'myComponent',
    directives: [Overlay],
    template: '<overlay><form (ngSubmit)="save({ name: 'sam', lastName: 'jones' })">I'm the component. Click <input type="submit">Here</input> to save me!</form></overlay>'
})
export class MyComponent {

}

Ces solutions ne fonctionne pas sans erreurs jeté, Angular2 simplement saute les deux composants de l'initialisation. De toute façon, je pense que vous obtenez l'idée. Il y a un élément commun qui aura besoin d'envelopper beaucoup d'autres composants, par conséquent, il doit être générique. Il a un template de sorte que les services ne pas faire le travail. Je n'ai pas beaucoup travaillé avec des annotations personnalisées, peut-être qu'ils pourraient faire quelque chose comme cela? Toute réflexion sur la manière de parvenir à cette fonctionnalité?

remarque: la superposition contient la logique et le modèle, qui sont tous deux nécessaires à un autre composant qui a besoin de l'utiliser. Le modèle est un complexe de dialogue modale, avec des animations, des messages, des fondus etc... qui est commun à travers la solution.

Mise à jour

Trouvé ceci: Angular2: le progrès, le chargement, la superposition de la directive

Pourquoi ne pas utiliser attribut/structurelle des directives? Vous pouvez costomize le comportement de votre composant par liaison de données pour que la directive et la réutilisation de cette directive
Dans ce cas, un bootstrap modal doit être montré et enlevé. Il a un contenu comme je l'ai mentionné, alors, comment un directive de stocker et d'afficher ce contenu?

OriginalL'auteur RoninCoder | 2016-06-21