Wie deklariere ich eine Funktion innerhalb einer Komponente (Typoskript) und rufe sie bei einem Klickereignis in Angular 2 auf? Es folgt der Code für dieselbe Funktionalität in Angular 1, für den ich Angular 2-Code benötige:
<button ng-click="myFunc()"></button>
//Regler
app.controller('myCtrl', ['$scope', function($cope) {
$scope.myFunc= {
console.log("function called");
};
}]);
javascript
angular
typescript
Unbekannt
quelle
quelle
angular2
wenn dies eineAngular 1
App ist?Antworten:
Komponentencode:
Aussicht:
Wie Sie im Code sehen können, deklariere ich den Klick-Handler wie folgt
(click)="open($event, item)"
und sende sowohl das Ereignis als auch das Element (deklariert in*ngFor
) an dieopen()
Methode (deklariert im Komponentencode).Wenn Sie nur das Element anzeigen möchten und keine Informationen vom Ereignis erhalten müssen, können Sie
(click)="open(item)"
dieopen
Methode einfach wie folgt ausführen und ändernpublic open(item) { ... }
quelle
Die genaue Übertragung auf Angular2 + ist wie folgt:
auch in Ihrer Komponentendatei:
quelle
https://angular.io/guide/user-input - es gibt ein einfaches Beispiel.
quelle
Die Zeile in Ihrem Controller-Code, die lautet,
$scope.myFunc={
sollte$scope.myFunc = function() {
dasfunction()
Teil sein, ist wichtig, um anzuzeigen, dass es sich um eine Funktion handelt!Der aktualisierte Controller-Code wäre
quelle
Das hat bei mir funktioniert: :)
quelle