2017-06-09 2 views
1

Es scheint, dass es nicht zwingend erforderlich ist, Selektoren für die Komponenten zu definieren, die nicht von anderen Komponenten referenziert werden (d. H. Die normalerweise von Router (<router-outlet>) angezeigt werden).Sollen geroutete Komponenten Selektoren in Angular haben?

Ich bemerkte, dass, wenn man sie Selektor-Tag tun geben, sie mit diesem Tag in der generierten HTML wie folgt angezeigt:

<app-root> 
    <router-outlet> 
    <app-dashboard> 
     ... 

Aber wenn Sie nicht tun, die ng-component Standard verwendet wird:

<app-root> 
    <router-outlet> 
    <ng-component> 
     ... 

Beachten Sie, dass anstelle von app-dashboardng-component eingefügt wurde.

Meine Frage ist: Gibt es einen anderen Unterschied, ob Sie den Selektor für solche (Router-only) Komponente bereitstellen? Ich denke nicht, konnte aber keine verbindliche Referenz finden.

Und wenn es keine funktionalen Unterschiede gibt, was wäre der bevorzugte Ansatz zu verwenden, d. H. Was wäre besser Absicht auszudrücken/semantisch korrekter zu sein: Selektoren definiert zu haben oder sie in einem solchen Fall wegzulassen?

Antwort

2

Um mehr semantisches HTML zum Debuggen zu erhalten, können Sie ein selector-Tag verwenden, aber in anderen Fällen ist weniger mehr, daher ist das Auslassen von Tags vorzuziehen. Auf diese Weise ist es für Sie selbst und für andere Entwickler klar, dass die Komponente, mit der Sie es zu tun haben, ein Endpunkt eines Routerpfads ist

Verwandte Themen