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>.

Relaterte artikler