/ / Vykreslenie komponentov Angular2 podľa selektora tried - uhlové, angular2-template

Rendering Úhlový2 komponenty podľa výberu triedy - uhlový, uhlový2-šablóna

Moja otázka je jednoduchá, ale verte mi, snažil som sa ňou ovinúť hlavu celé hodiny.

Prostredníctvom selektora tried sa vytvorí inštancia.

@Component({
selector: ".mycomponent",
template: "<h1>hello!</h1>"
})
export class MyComponent{}

Povedzme, že materská komponenta vyzerá takto:

@Component({
...
template:
`
<div class="mycomponent"></div> <!-- rendered -->
<div [class]=""mycomponent""></div> <!-- not rendered -->
`
})
export class ParentComponent{}

Prečo je to, že druhá verzia nie je nikdytavené? Ako by som to mohol urobiť? Je to problém s detekciou zmien, alebo to jednoducho nemá fungovať týmto spôsobom? Hral som si so stratégiou detekcie zmien, ktorá nemala žiaden účinok. Tiež som narazil DynamicComponentLoader, Dúfam, že to dokážem obísť.

Existuje nejaký spôsob, ako dynamicky načítať komponenty prostredníctvom selektorov bez prvkov?

odpovede:

3 pre odpoveď č. 1

To by nemalo fungovať. Komponenty a smernice sa vzťahujú iba na staticky pridané značky, atribúty a triedy.

Ak chcete dynamicky pridávať / odoberať komponenty a použitie direktív DynamicComponentLoader alebo createComponent() z ViewContainerRef


-1 pre odpoveď č. 2

Prečo to nefunguje, pretože keď používate [trieda], znamená to, že „trieda“ je attr nepriradený k triede „mycomponent“.