Win*_*ico 103 javascript angularjs reactjs
我对这些概念有点模糊,如果我在AngularJS和ReactJS中完全构建相同的ToDo应用程序 - 是什么让React ToDo使用单向数据绑定与AngularJS的双向数据绑定?
我明白React有点像
渲染(数据)---> UI.
这与Angular有什么不同?
Gab*_*iel 183
我画了一点画.我希望它足够清楚.如果不是,请告诉我!
Kye*_*ica 152
当角度设置数据绑定时,存在两个"观察者"(这是一个简化)
//js
$scope.name = 'test';
$timeout(function()  { $scope.name = 'another' }, 1000);
$timeout(function()  { console.log($scope.name); }, 5000);
<!-- html --->
<input ng-model="name" />
输入将从1开始test,然后更新到another1000ms.对$scope.name控制器代码或更改输入的任何更改都将在4000毫秒后的控制台日志中反映出来.由于设置监视输入并通知更改,因此<input />对$scope.name属性的更改会自动反映在属性中.代码的更改和HTML的更改是双向绑定.(看看这个小提琴)ng-model$scope
React没有允许HTML更改组件的机制.HTML只能引发组件响应的事件.典型的例子是使用onChange.
//js
render() { 
    return <input value={this.state.value} onChange={this.handleChange} />
}
handleChange(e) {
    this.setState({value: e.target.value});
}
它的值完全由函数<input />控制.更新此值的唯一方法是从组件本身,这是通过将事件附加到使用React组件方法设置的事件来完成的.在没有对组件状态的直接访问,因此它不能更改.这是单向绑定.(看看这个codepen)renderonChange<input />this.state.valuesetState<input />
| 归档时间: | 
 | 
| 查看次数: | 52395 次 | 
| 最近记录: |