2016-07-12 5 views
4

Ich habe den Papier-Dialog von Bower importieren. aber ich kann den Dialog nicht mit der Methode open() anzeigen.Verwendung von Polymer-Papier-Dialog in angular2 typescript App

app.component.html

<paper-icon-button icon="social:person-outline" data-dialog="dialog" id="sing_in_dialog" (click)="clickHandler()"></paper-icon-button> 
<paper-dialog id="dialog" entry-animation="scale-up-animation" exit-animation="fade-out-animation"> 
    <h2>Dialog Title</h2> 
    <p>cia deserunt mollit anim id est laborum.</p> 
</paper-dialog> 

app.component.ts

import { Component,ElementRef, OnInit } from '@angular/core'; 
import { ROUTER_DIRECTIVES } from '@angular/router'; 
import { PolymerElement } from '@vaadin/angular2-polymer'; 

@Component({ 
    moduleId: module.id, 
    selector: 'app-root', 
    events: ['event: iron-overlay-opened', 'event: iron-overlay-closed'], 
    templateUrl: 'app.component.html', 
    styleUrls: ['app.component.css'], 
    directives: [ 
ROUTER_DIRECTIVES, 
PolymerElement('vaadin-combo-box'), 
PolymerElement('paper-button'), 
PolymerElement('paper-scroll-header-panel'), 
PolymerElement('paper-toolbar'), 
PolymerElement('paper-drawer-panel'), 
PolymerElement('paper-header-panel'), 
PolymerElement('paper-toolbar'), 
PolymerElement('iron-icon'), 
PolymerElement('paper-icon-button'), 
PolymerElement('paper-toolbar'), 
PolymerElement('paper-dialog') 
] 
}) 
export class AppComponent { 

constructor() { 
} 
    title = "title"; 

ngOnInit() { 
} 

clickHandler(e) { 
    var dialog = document.getElementById('dialog'); 
    if (dialog) { 
    dialog.open(); 
    } 
} 
} 

es Fehler ist geben

, die() öffnen, ist nicht Htmlelement Funktion.

Was ist der Fehler in meinem Code und wie wir die Methode des Polyemerelements in typescript und angular2 auslösen. Ich benutze angular cli, um ein Projekt zu erstellen und vaadin für den Gebrauch von Polymer in meiner Anwendung. Papier-Scroll-Header, Papier-Schublade und viele andere Elemente können ohne Fehler verwendet werden, aber wenn wir Element-Methode in Typoskript aufrufen müssen, bekommen Fehler und ich kann dies nicht lösen und Hilfe würde geschätzt werden.

+0

Importieren Sie den "Papier-Dialog" in das JS –

+0

Ich habe PolymerElement ('Papier-Dialog') in app.component.ts importiert –

+0

dann vielleicht die Installation (Papier-Dialog) nicht tatsächlich die Komponente in Ihr Projekt injizieren an dem Pfad, wo der Import danach sucht –

Antwort

2

ich gerade muss clickHandler Funktion in ..

clickHandler(e) { 
    var dialog :any = document.getElementById('dialog'); 
    if (dialog) { 
    dialog.open(); 
} 

mit: jeder Cast das HTML-Element.

Verwandte Themen