Açısal
Açısal kurulumlar veri bağlayan iki "izleyici" mevcut olduğunda (bu bir basitleştirmedir)
//js
$scope.name = 'test';
$timeout(function() { $scope.name = 'another' }, 1000);
$timeout(function() { console.log($scope.name); }, 5000);
<!-- html --->
<input ng-model="name" />
Giriş ile başlayacak test, ardından another1000 ms olarak güncellenecektir . $scope.nameDenetleyici kodundan veya girişi değiştirerek yapılan herhangi bir değişiklik , 4000 ms sonra konsol günlüğüne yansıtılacaktır. Değişiklikler <input />yansıtılır $scope.nameberi, otomatik özelliği ng-modelsetleri yukarı giriş ve bildirebilmesi saatler $scopedeğişikliklerin. Koddaki değişiklikler ve HTML'deki değişiklikler iki yönlü bağlamadır . ( Bu kemana bir bak )
Tepki
React, HTML'nin bileşeni değiştirmesine izin veren bir mekanizmaya sahip değildir. HTML yalnızca bileşenin yanıt verdiği olayları oluşturabilir. Tipik bir örnek kullanmaktır onChange.
//js
render() {
return <input value={this.state.value} onChange={this.handleChange} />
}
handleChange(e) {
this.setState({value: e.target.value});
}
Değerinin değeri tamamen işlev tarafından <input />kontrol edilir . Bu değeri güncellemenin tek yolu , React bileşen yöntemiyle ayarlanan bir olayın eklenmesiyle gerçekleştirilen bileşenin kendisidir . O değişiklik yapamazsınız böylece bileşenler devlete doğrudan erişime sahip olurlar ve gelmez. Bu tek yönlü bağlayıcıdır . (Bu kod parçasına göz atın )renderonChange<input />this.state.valuesetState<input />