আপনি যদি ব্যবহার করছেন তবে FormBuilder
@ ডিএফএসকিউর উত্তর দেখুন।
আপনি যদি ব্যবহার না করে থাকেন FormBuilder
তবে পরিবর্তনের বিষয়ে অবহিত হওয়ার দুটি উপায় রয়েছে।
পদ্ধতি 1
প্রশ্নের মন্তব্যে আলোচিত হিসাবে, প্রতিটি ইনপুট উপাদানকে বাধ্যতামূলকভাবে একটি ইভেন্ট ব্যবহার করুন। আপনার টেমপ্লেটে যুক্ত করুন:
<input type="text" class="form-control" required [ngModel]="model.first_name"
(ngModelChange)="doSomething($event)">
তারপরে আপনার উপাদানগুলিতে:
doSomething(newValue) {
model.first_name = newValue;
console.log(newValue)
}
ফরম পৃষ্ঠা ngModel সম্পর্কে কিছু অতিরিক্ত তথ্য যে এখানে প্রাসঙ্গিক আছে:
ngModelChange
একটি নয় <input>
উপাদান ইভেন্ট। এটি আসলে NgModel
নির্দেশের একটি ইভেন্ট সম্পত্তি । যখন কৌনিকটি ফর্মটিতে একটি বাধ্যতামূলক লক্ষ্য দেখে [(x)]
, x
নির্দেশটি একটি x
ইনপুট সম্পত্তি এবং xChange
আউটপুট সম্পত্তি থাকার প্রত্যাশা করে ।
অন্যান্য বিজোড়তা হ'ল টেমপ্লেট এক্সপ্রেশন model.name = $event
,। আমরা $event
কোনও ডিওএম ইভেন্ট থেকে আসা কোনও জিনিস দেখার অভ্যস্ত। NgModelChange বৈশিষ্ট্যটি কোনও DOM ইভেন্ট তৈরি করে না; এটি একটি কৌণিক EventEmitter
সম্পত্তি যা আগুনের সময় ইনপুট বাক্সের মান প্রদান করে ..
আমরা প্রায় সবসময় পছন্দ [(ngModel)]
। আমরা ইভেন্ট হ্যান্ডলিং যেমন কী স্ট্রোক ডাবনো বা থ্রোটলের মতো বিশেষ কিছু করতে হত তবে আমরা বাইন্ডিংটিকে বিভক্ত করতে পারি।
আপনার ক্ষেত্রে, আমি মনে করি আপনি বিশেষ কিছু করতে চান।
পদ্ধতি 2
একটি স্থানীয় টেমপ্লেট পরিবর্তনশীল নির্ধারণ করুন এবং এটি সেট ngForm
।
ইনপুট উপাদানগুলিতে ngControl ব্যবহার করুন।
@ ভিউচিল্ড ব্যবহার করে ফর্মের এনজিএফর্মের নির্দেশনার একটি রেফারেন্স পান, তারপরে পরিবর্তনের জন্য এনজিএফর্মের কন্ট্রোলগ্রুপটিতে সাবস্ক্রাইব করুন:
<form #myForm="ngForm" (ngSubmit)="onSubmit()">
....
<input type="text" ngControl="firstName" class="form-control"
required [(ngModel)]="model.first_name">
...
<input type="text" ngControl="lastName" class="form-control"
required [(ngModel)]="model.last_name">
class MyForm {
@ViewChild('myForm') form;
...
ngAfterViewInit() {
console.log(this.form)
this.form.control.valueChanges
.subscribe(values => this.doSomething(values));
}
doSomething(values) {
console.log(values);
}
}
plunker
পদ্ধতি 2 সম্পর্কিত আরও তথ্যের জন্য, সাবকিনের ভিডিও দেখুন ।
valueChanges
পর্যবেক্ষণযোগ্যদের সাথে আপনি কী করতে পারেন সে সম্পর্কে আরও তথ্যের জন্য @ থিয়েরির উত্তরও দেখুন (যেমন পরিবর্তনগুলি প্রক্রিয়া করার আগে কিছুটা প্রত্যাখ্যান / অপেক্ষা করা)।