angular - কৌণিক 2 সমতুল্য




(2)

যে কোনও ডিওএম ইভেন্টের প্রতিক্রিয়া জানাতে আমরা কৌনিক ইভেন্ট বাইন্ডিং ব্যবহার করতে পারি। বাক্য গঠনটি সহজ। আমরা ডিওএম ইভেন্টের নামটিকে প্রথম বন্ধনী হিসাবে ঘিরে রেখেছি এবং এটিতে একটি উদ্ধৃত টেম্পলেট বিবৃতি অর্পণ করি। - reference

যেহেতু change স্ট্যান্ডার্ড ডিওএম ইভেন্টগুলির তালিকায় রয়েছে তাই আমরা এটি ব্যবহার করতে পারি:

(change)="saverange()"

আপনার বিশেষ ক্ষেত্রে, যেহেতু আপনি এনজিএমডেল ব্যবহার করছেন, আপনি এর পরিবর্তে দ্বি-মুখী বাইন্ডিংটি ভেঙে ফেলতে পারেন:

[ngModel]="range" (ngModelChange)="saverange($event)"

তারপর

saverange(newValue) {
  this.range = newValue;
  this.Platform.ready().then(() => {
     this.rootRef.child("users").child(this.UserID).child('range').set(this.range)
  })
} 

যাইহোক, এই পদ্ধতির সাথে saverange() কে প্রতিটি কীস্ট্রোকের সাথে ডাকা হয়, সুতরাং আপনি সম্ভবত (change) ব্যবহার করা ভাল।

আমি আমার ইনপুট রেঞ্জের মান ফায়ারবেসে সংরক্ষণ করার জন্য অবিচরণ ব্যবহার করছি, তবে আমার ত্রুটি আছে যারা বলে যে আমার ফাংশনটি সংজ্ঞায়িত হয়নি।

এটা আমার কাজ

saverange(){
  this.Platform.ready().then(() => {
    this.rootRef.child("users").child(this.UserID).child('range').set(this.range)
  })
} 

এটি আমার এইচটিএমএল

<ion-item>
  <ion-row>
    <ion-col>Rayon <span favorite><strong> {{range}} km</strong></span></ion-col>
    <ion-col><input type="range" name="points" min="0" max="40" [(ngModel)]="range" onchange="saverange()"></ion-col>
  </ion-row>
</ion-item>

কৌণিক ক্ষেত্রে অদলবদলের সমতুল্য, যদি একটি বিদ্যমান থাকে। ধন্যবাদ


@ মার্ক রাজকোক আয়ন প্রকল্পগুলির জন্য একটি বিস্তৃত ধরণের ইনপুট অন্তর্ভুক্ত করার জন্য দুর্দান্ত সমাধান দিয়েছেন।

অয়ন প্রকল্পগুলির অন্য কোনও ক্ষেত্রে আমি এটি প্রস্তাব করব:

এইচটিএমএল:

<input type="text" name="points" #points maxlength="8" [(ngModel)]="range" (ngModelChange)="range=saverange($event, points)">

উপাদান:

    onChangeAchievement(eventStr: string, eRef): string {

      //Do something (some manipulations) on input and than return it to be saved:

       //In case you need to force of modifing the Element-Reference value on-focus of input:
       var eventStrToReplace = eventStr.replace(/[^0-9,eE\.\+]+/g, "");
       if (eventStr != eventStrToReplace) {
           eRef.value = eventStrToReplace;
       }

      return this.getNumberOnChange(eventStr);

    }

এখানে ধারণা:

  1. (ngModelChange) পদ্ধতিটি সেটার কাজটি করতে দেওয়া:

    (ngModelChange)="range=saverange($event, points)

  2. এই কলটি ব্যবহার করে নেটিভ ডোম উপাদানটিতে সরাসরি অ্যাক্সেস সক্ষম করুন:

    eRef.value = eventStrToReplace;





angular