Angular 2 übergibt html an ng-content mit Bindings

9

Ich schreibe eckige Komponenten für das Framework css der Stiftung. Ich arbeite an der Tabs-Komponente und möchte etwas HTML an die <ng-content> davon übergeben können.

Das Problem ist, ich muss auch html übergeben, auf dem ein Benutzer Bindungen anbringen kann, wie folgt:

ELTERNSCHABLONE

%Vor%

TABS-KOMPONENTE

%Vor%

TABS TYPESCRIPT

%Vor%

Dabei ist item eine Referenz auf ein Objekt im Array example .

Allerdings bekomme ich diesen Fehler: %Code% as Cannot read property 'name' of undefined wird ausgewertet, bevor es in die item -Direktive eingefügt wird.

Gibt es eine Möglichkeit, diese Einschränkung zu umgehen, oder mache ich das falsch?

    
userqwert 18.03.2017, 18:50
quelle

3 Antworten

14

Angular 5 aktualisieren

ngOutletContext wurde in ngTemplateOutletContext

umbenannt

Siehe auch Ссылка

Original

ngTemplateOutlet oder ngForTemplate kann für diesen Anwendungsfall verwendet werden:

%Vor% %Vor%

Siehe auch Angular 2 binden den Inhalt in die Schleife Variable

    
Günter Zöchbauer 18.03.2017, 18:59
quelle
0

Sie müssen das Elementobjekt an die ng-content-Komponente übergeben.

%Vor%

Ich bin mir nicht sicher, was hinter dem Klickereignis auf der Registerkarte steht, aber Sie können dieses Elementobjekt zu selectedTab zuweisen, das an die Komponente übergeben wird.

Die Komponente, die die Registerkartenansicht steuert, kann Folgendes haben:

%Vor%

Und das wird dieses Objekt übergeben, wenn Sie klicken. Ich könnte das aus dem falschen Blickwinkel angreifen, aber vielleicht wird es dir auf irgendeine Weise helfen.

    
Ben Gummelt 18.03.2017 19:02
quelle
0

Sie sollten stattdessen diesen Weg verwenden,

%Vor%

Komponententypscript

%Vor%

Definieren Sie in Ihrer Content-Projektion einen Selektor als

%Vor%

Wie Sie mit Bindings vorgehen

%Vor%

DEMO

    
Aravind 18.03.2017 18:59
quelle

Tags und Links