2016-10-24 23 views
31

में क्लिक ईवेंट पर फ़ंक्शन पर कॉल करें घटक के अंदर फ़ंक्शन घोषित कैसे करें और इसे क्लिक ईवेंट पर कॉल करें। कोणीय 1कोणीय 2

<button ng-click="myFunc()"></button> 

// नियंत्रक

app.controller('myCtrl',['$scope',function($cope){ 
    $scope.myFunc= { 
console.log("function called"); 
}; 
}]); 
+4

क्यों आप टैग 'angular2' अगर यह एक' कोणीय 1' अनुप्रयोग है? – BeetleJuice

+0

संक्षिप्त विवरण, संरचनात्मक रूप से गलत वाक्य, बदसूरत कोड। गलत परिणाम में सभी परिणाम। लोग यह एक कोणीय 1 सवाल है! – Reyraa

+1

जो भी मैंने कोड में लिखा है, मैं कोणीय 2 में ऐसा करना चाहता हूं। – unknown

उत्तर

44

घटक कोड में:

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); 
    } 

} 

दृश्य:

<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> 

आप कोड में देख सकते हैं, मैं मैं टी जैसे क्लिक हैंडलर घोषित कर रहा हूँ उनके (click)="open($event, item)" और घटना और आइटम दोनों को भेज दिया गया (*ngFor में घोषित) open() विधि (घटक कोड में घोषित) पर भेज रहा है।

तुम सिर्फ आइटम दिखाने के लिए चाहते हैं और आप घटना से जानकारी प्राप्त करने की आवश्यकता नहीं है, तो आप सिर्फ (click)="open(item)" करते हैं और इस तरह public open(item) { ... }

6

http://learnangular2.com/events/ पर जाएं open विधि को संशोधित कर सकते हैं - वहाँ एक सरल उदाहरण है ।

+1

मूल दस्तावेज का जिक्र करना एक बेहतर तरीका है क्योंकि अधिक सीखने का एक बड़ा मौका है। – Reyraa

3

$scope.myFunc={ पढ़ता है आपके नियंत्रक कोड में रेखा $scope.myFunc = function() {function() भाग इंगित करना महत्वपूर्ण है, यह एक कार्य है!

अद्यतन नियंत्रक कोड

`app.controller('myCtrl',['$scope',function($cope){ 
     $scope.myFunc = function() { 
      console.log("function called"); 
    }; 
}]);` 
1

यह मेरे लिए काम किया होगा: Angular2 + को :)

<button (click)="updatePendingApprovals(''+pendingApproval.personId, ''+pendingApproval.personId)">Approve</button>

updatePendingApprovals(planId: string, participantId: string) : void { 

     alert('PlanId:' + planId + ' ParticipantId:' + participantId); 
} 
21

सटीक हस्तांतरण के रूप में नीचे है:

<button (click)="myFunc()"></button> 

भी अपने घटक फ़ाइल में:

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"); 
    } 
}