मैं कोणीय 2 पर कुछ काम करने की कोशिश कर रहा हूं और मैं इस व्यवहार के बारे में कुछ नहीं ढूंढ पा रहा हूं।बिडरेक्शनल डेटा एक घटक इनपुट प्रॉपर्टी पर बाध्यकारी
import {Component,Input} from 'angular2/core'
@Component({
selector:'my-comp',
template:`<input type="text" style="text-align:center; [(ngModel)]="inputText"> <p>{{inputText}}</p>`
})
export class MyComp{
@Input() inputText : string;
}
और मैं इस तरह मेरी घटक से मेरी inputText
चर पर एक द्विदिश डेटा बाइंडिंग करने के लिए कोशिश कर रहा हूँ:
<my-comp [(inputText)]="testString"></my-comp>
मैं एक आवेदन है कि यह एक तरह एक कस्टम घटक को लागू करता है जहां testString
MyApp.ts
में परिभाषित एक चर है जिसमें एक स्ट्रिंग है। मैं चाहता हूं कि testString
वैरिएबल को संशोधित किया जाए जब मेरा inputText
उपयोगकर्ता द्वारा संशोधित किया गया हो। https://plnkr.co/edit/zQiCQ3hxSSjCmhWJMJph?p=preview
इस बस काम करता है बनाने के लिए एक रास्ता है:
यहाँ एक सरल नमूना कोड के साथ एक Plunker है? क्या मुझे ngModel
की तरह काम करने के लिए अपने कस्टम घटकों और अधिभार कार्यों पर एक कोणीय 2 वर्ग लागू करना है? मैं जरूरी इस तरह EventEmitter
प्रकार है कि अपने डेटा फेंकना जब यह परिवर्तनों की inputTextChanged
चर बना सकते हैं और कुछ करने के लिए है:
<my-comp [inputText]="testString" (inputTextChanged)="testString = $event;"></my-comp>
अग्रिम धन्यवाद।
हां आपको एक ईवेंट एमिटर "इनपुटटेक्स्ट चेंज" बनाना है, और ईवेंट को अपने घटक के अंदर आग लगाना है। फिर [(inputText)] अपेक्षित के रूप में काम करना चाहिए। – pixelbits
नोटिस के रूप में: Angular2 में बिडरेक्शनल डेटा-बाध्यकारी जैसी कोई चीज़ नहीं है, लेकिन आप एक समान व्यवहार कर सकते हैं। http://victorsavkin.com/post/110170125256/change-detection-in-angular-2 – jornare
आधिकारिक वेबसाइट से कोणीय 2 धोखा शीट के अनुसार: " \t दो-तरफा डेटा बाइंडिंग सेट करता है। इसके बराबर: "। इसलिए मुझे लगता है कि हम कह सकते हैं कि कोणीय 2 में बिडरेक्शनल डेटा बाध्यकारी है। –