2017-08-08 4 views
0

Hallo Ich frage mich, ob es eine Möglichkeit gibt, Informationen über diese Details zu senden ist geschlossen oder geöffnet ich meine: Ich kann nicht in $ Ereignis alle Informationen über Details öffnen. ich auf Winkel 2. Dank arbeiten :)HTML Detail Element Informationen Winkel 2

+0

Wie stellen Sie sicher, ob Details offen sind oder nicht? Hast du irgendeine Klasse? –

+0

Das ist der Punkt, ich bin nicht sicher, ob es geöffnet ist oder nicht, ich möchte sicher sein, dass Variablen in der Klasse in ts-Datei –

+0

setzen Was meinst du mit offenen Details? sprichst du über ein div während geöffnet? –

Antwort

1

i schreiben Sie eine einfache Komponente, mit @ViewChild wir das Element aus der Vorlage erhalten.

dann können wir auf das offene Attribut innerhalb davon zugreifen. wenn der Benutzer auf das Detailelement klickt.

import { Component, ViewChild }   from '@angular/core'; 

@Component({ 
    selector: 'my-app', 
    template: ` 
    <details (click)='detailsClicked()' #detailsElement> 
     <summary>Copyright 1999-2014.</summary> 
     <p> - by Refsnes Data. All Rights Reserved.</p> 
     <p>All content and graphics on this web site are the property of the company Refsnes Data.</p> 
    </details> 
    ` 
}) 
export class AppComponent { 
    title = 'Tour of Heroes'; 
    @ViewChild('detailsElement') detailsElement; 

    detailsClicked() { 
    setTimeout(() => { 
     console.log(this.detailsElement.nativeElement.open) 
    }, 0); 
    } 

} 

Ich verwende den SetTimeout() Methode, um den Endzustand Detaillierungsgrad Element zu erhalten.

+0

Danke, gut gemacht, aber ich erkannte, dass IE und Microsoft Edge nicht unterstützt

, also änderte ich es in Kontrollkästchen wie eine Details gestylt :) –