কৌণিক
যখন কৌণিক দুটি সেট "ডেটাব্যান্ডিং" উপস্থিত থাকে (এটি একটি সরলীকরণ)
//js
$scope.name = 'test';
$timeout(function() { $scope.name = 'another' }, 1000);
$timeout(function() { console.log($scope.name); }, 5000);
<!-- html --->
<input ng-model="name" />
ইনপুটটি শুরু হবে test, তারপরে another1000 মিমিতে আপডেট হবে । কোন পরিবর্তন $scope.nameহয় নিয়ামক কোড থেকে বা ইনপুট পরিবর্তন করে, কনসোল লগ 4000ms পরে দেখা যাবে। এর পরিবর্তনগুলি সম্পত্তিতে স্বয়ংক্রিয়ভাবে <input />প্রতিফলিত $scope.nameহয়, যেহেতু ng-modelসেট আপগুলি ইনপুট দেখায় $scopeএবং পরিবর্তনের বিষয়ে অবহিত করে। কোড থেকে পরিবর্তন এবং এইচটিএমএল থেকে আসা পরিবর্তনগুলি দ্বি-মুখী বন্ধন । ( এই ঝাঁকুনিটি দেখুন )
প্রতিক্রিয়া
প্রতিক্রিয়াটির উপাদানটিকে পরিবর্তন করার জন্য এইচটিএমএলকে অনুমতি দেওয়ার কোনও ব্যবস্থা নেই। এইচটিএমএল কেবল সেই ইভেন্টগুলিকে উত্থাপন করতে পারে যা উপাদানগুলি সাড়া দেয়। সাধারণ উদাহরণ ব্যবহার করে হয় onChange।
//js
render() {
return <input value={this.state.value} onChange={this.handleChange} />
}
handleChange(e) {
this.setState({value: e.target.value});
}
এর মানটি ফাংশন দ্বারা পুরোপুরি<input /> নিয়ন্ত্রিত হয়render । এই মানটি আপডেট করার একমাত্র উপায় হ'ল উপাদানটি থেকেই, যা কোনও onChangeইভেন্ট সংযুক্ত করে সম্পন্ন হয় <input />যা this.state.valueপ্রতিক্রিয়া উপাদানটির পদ্ধতিতে সেট করে setState। <input />উপাদান রাষ্ট্র থেকে সরাসরি প্রবেশাধিকার নেই, এবং তাই এটি পরিবর্তন করতে পারবেন না। এটি একমুখী বাঁধাই । (এই কোডেপেনটি দেখুন )