কৌণিক 2 এ ক্লিক ইভেন্টে একটি ফাংশন কল করুন


95

কোন উপাদান (টাইপস্ক্রিপ্ট) এর ভিতরে কোনও ক্রিয়াকলাপ কীভাবে ঘোষণা করবেন এবং এঙ্গুলার 2 এ ক্লিক ইভেন্টে কল করবেন? কৌনিক 1 তে একই কার্যকারিতার জন্য কোডটি নীচে দেওয়া হয়েছে যার জন্য আমার কৌনিক 2 কোডের প্রয়োজন:

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

// নিয়ামক

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

4
আপনি angular2যদি এই Angular 1অ্যাপ্লিকেশন হন তবে কেন ট্যাগ করলেন ?
বিটলজুইস

সংক্ষিপ্ত বিবরণ, কাঠামোগত ভুল বাক্য, কুরুচিপূর্ণ কোড। ভুল বোঝার ফলে ফলাফল। মানুষ এটি একটি কৌণিক 1 প্রশ্ন!
রেয়ারা

4
আমি কোডে যা লিখেছি তা আমি কৌনিক 2 তেও করতে চাই।
অজানা

পুরানো পোস্ট, তবে আমি কৌণিক 2 ডকুমেন্টেশন থেকে "হিরোসের সফর" দেখার পরামর্শ দিই।
জেফ

এটি কৌনিক 1 বা কৌনিক 2? এটি নির্দিষ্ট করা উচিত ছিল
সুধীর কৌশিক

উত্তর:


120

উপাদান কোড:

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)"এইভাবে করতে এবং সংশোধন করতে openপারেনpublic open(item) { ... }


লগঅফের পরে এই মেনুটি কীভাবে অদৃশ্য হয়ে যাবে? এই জাতীয় মেনু ব্যবহার করে আমার ডেটাবুটস্ট্রাপ পৃষ্ঠাটি এবং প্রতিটি অন্যান্য পুশ পৃষ্ঠার নিজস্ব রয়েছে তবে লগঅফ এবং গোটো লগইন পৃষ্ঠার পরে এই মেনুটি অপ্রত্যাশিতভাবে উপস্থিত হয়েছিল তাই ক্লিক অদৃশ্য হওয়ার পরে আইক্যান্ট এটি হ্যান্ডেল করে।
সাবের তাবতাবই ইয়াজদী

@ সাববারতবাটাবায়েইজদী আপনি কি দয়া করে আপনার সমস্যাটি নিয়ে একটি স্ট্যাকব্লিটজ ডেমো তৈরি করতে পারবেন যাতে আমি এটি একবার দেখে নিই?
sebaferreras

57

কৌণিক 2 + তে হস্তান্তর স্থানান্তর নীচের মত:

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


3

আপনার নিয়ামক কোডের লাইনটি যা পড়তে $scope.myFunc={হবে $scope.myFunc = function() {সেই function()অংশটি চিহ্নিত করা গুরুত্বপূর্ণ, এটি একটি ফাংশন!

আপডেট হওয়া কন্ট্রোলার কোডটি হবে

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

1

এটি আমার পক্ষে কাজ করেছে: :)

<button (click)="updatePendingApprovals(''+pendingApproval.personId, ''+pendingApproval.personId)">Approve</button>
updatePendingApprovals(planId: string, participantId: string) : void {
  alert('PlanId:' + planId + '    ParticipantId:' + participantId);
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.