2017-04-21 3 views
0

Ich fragte mich, ob das Folgende möglich war. Kann ich die initialisierten Klassen einer Komponente im HTML verwenden, um eine Funktion aufzurufen, die nicht in der Komponente enthalten ist? Zum Beispiel:Angular2 Verwendung Komponenten initialisierte Klasse in HTML

@Component 
... 
export class TestComponent implements OnInit { 
    simpleHandler:SimpleHandler = new SimpleHandler(); 
... 

Dann im HTML-Call es so?

<div> 
{{simpleHandler.isValid()}} 
</div> 

Oder kann es nur Funktionen und Eigenschaften der Komponenten selbst aufrufen?

Wenn ich versuche, dies zu tun, gibt es diesen Fehler:

TypeError: self.parentView.parentView.context.simpleHandler.isValid is not a function 
+0

sollten Sie in der Lage sein, es zu tun. Ich habe solche Fälle. Überprüfen Sie, ob die SimpleHandler.isValid-Funktion existiert –

+0

Seltsam ... es funktioniert. Vielen Dank. Ich habe etwas Kleineres getestet und herausgefunden, wo mein Problem liegt. Ich schätze es sehr. – SB8851

Antwort

0

Ja, Sie können es tun. Zum Beispiel wird dieses Muster durch verwendet NG2-Datei-Upload

@Component({ 
    selector: 'simple-demo', 
    templateUrl: './simple-demo.html' 
}) 
export class SimpleDemoComponent { 
    public uploader:FileUploader = new FileUploader({url: URL}); 
    ... 
} 

und in html:

<button type="button" class="btn btn-success btn-xs" 
    (click)="item.upload()" [disabled]="item.isReady || item.isUploading || item.isSuccess"> 
    <span class="glyphicon glyphicon-upload"></span> Upload 
</button>