AngularJS 中的双向数据绑定是如何工作的?
大家好!我开始学习 AngularJS,但一直无法理解双向数据绑定(two-way data binding)是如何工作的。我读过文档,但仍然感到困惑。
我有一个简单的输入表单示例。我希望当输入框中的文本改变时,页面上的文本能自动更新。我使用了 ng-model 指令,但不明白底层发生了什么。
这是我的代码:
```javascript
// app.js
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.name = 'John Doe';
});
```
```html
```
一切正常,但我不明白:
1. AngularJS 如何知道输入框中的值发生了变化?
2. 为什么在代码中改变 $scope.name 变量(例如通过 setTimeout)也会更新输入框?
3. 什么是“脏检查”(dirty checking)以及为什么需要它?
4. 有没
你好,{{ name }}!