javascript - Fordelene ved å bruke ng-container vs. template?
I Angular kunne vi gjøre:
template: `<ng-container #c></ng-container>`
eller :
template: `<template #c></template>`
Å lage en visningsbeholder som er skjult når malen gjengis.
Er det en forskjell mellom å bruke ng-container og HTML-template-alternativet? Jeg antar at Angular må ha sine egne template-beholdere som ng-template eller ng-container, siden bruk av det rå html-template-elementet kan bryte ikke-nettleserbaserte kjøremiljøer, som mobilklienter, osv.
Svar #1
<ng-container> gjengis alltid, men representerer ikke et DOM-element. Det er fortsatt koblet til komponentens visning.
<ng-template> vil kun bli gjengitt hvis det uttrykkelig blir forespurt.
Her er en god referanse om emnet:
http://nataliesmith.ca/blog/2018-05-01-ngtemplate-ngcontainer-ngcontent/
Å lage en visningsbeholder som er skjult når malen gjengis.
Bruk alltid <ng-template> når det er mulig. <ng-container> er for å gruppere DOM-elementer sammen. For eksempel; når du trenger å bruke en *ngIf på mange <td>-elementer, fordi du ikke kan bruke en <span> rundt <td>.