Bagaimana cara mendeklarasikan fungsi di dalam komponen (skrip ketikan) dan memanggilnya pada acara klik di Angular 2? Berikut adalah kode untuk fungsi yang sama di Angular 1 yang saya perlukan kode Angular 2:
<button ng-click="myFunc()"></button>
// pengontrol
app.controller('myCtrl', ['$scope', function($cope) {
$scope.myFunc= {
console.log("function called");
};
}]);
javascript
angular
typescript
tidak diketahui
sumber
sumber
angular2
jika ini adalahAngular 1
aplikasi?Jawaban:
Kode komponen:
import { Component } from "@angular/core"; @Component({ templateUrl:"home.html" }) export class HomePage { public items: Array<string>; constructor() { this.items = ["item1", "item2", "item3"] } public open(event, item) { alert('Open ' + item); } }
Melihat:
<ion-header> <ion-navbar primary> <ion-title> <span>My App</span> </ion-title> </ion-navbar> </ion-header> <ion-content> <ion-list> <ion-item *ngFor="let item of items" (click)="open($event, item)"> {{ item }} </ion-item> </ion-list> </ion-content>
Seperti yang Anda lihat di kode, saya mendeklarasikan handler klik seperti ini
(click)="open($event, item)"
dan mengirimkan event dan item (dideklarasikan di*ngFor
) keopen()
metode (dideklarasikan di kode komponen).Jika Anda hanya ingin menampilkan item dan Anda tidak perlu mendapatkan info dari acara tersebut, Anda cukup melakukan
(click)="open(item)"
dan memodifikasiopen
metode seperti inipublic open(item) { ... }
sumber
Transfer yang tepat ke Angular2 + adalah sebagai berikut:
<button (click)="myFunc()"></button>
juga di file komponen Anda:
import { Component, OnInit } from "@angular/core"; @Component({ templateUrl:"button.html" //this is the component which has the above button html }) export class App implements OnInit{ constructor(){} ngOnInit(){ } myFunc(){ console.log("function called"); } }
sumber
https://angular.io/guide/user-input - ada contoh sederhana.
sumber
Baris dalam kode controller, yang berbunyi
$scope.myFunc={
harus$scope.myFunc = function() {
yangfunction()
bagian penting untuk menunjukkan, itu adalah fungsi!Kode pengontrol yang diperbarui adalah
app.controller('myCtrl',['$scope',function($cope){ $scope.myFunc = function() { console.log("function called"); }; }]);
sumber
Ini berhasil untuk saya: :)
<button (click)="updatePendingApprovals(''+pendingApproval.personId, ''+pendingApproval.personId)">Approve</button>
updatePendingApprovals(planId: string, participantId: string) : void { alert('PlanId:' + planId + ' ParticipantId:' + participantId); }
sumber