Data Binding
在angular中,model和view组件之间的Data Binding是可以自动同步数据的。angular实现Data Binding的方法可以让你确信在你的应用中model是single-source-of-truth,view仅仅是model的投影。当model改变时,view跟着改变,反之亦然。
经典模板系统中的
大多数模板系统绑定的数据都是单向的,他们仅仅是把template和model合并到view中,在合并之后对model进行变更并不会同步到view中,同样对view的更改也不会反映到model中。这意味着开发者写不断的写代码来同步model和view。flush,reflush类似的代码没少写吧。
angular模板中的Data Binding
angular的模板系统则不同,template是被浏览器去编译的,编译这步会产生一个live的view。对view进行的任何更改会立即反映到model中,对model进行的更改也会立即反映到view中。model是应用程序的single-source-of-truth,极大地简化了开发人员的编程模型,你仅仅把view当成model的瞬间投影即可。
因为view仅仅是model的投影,那controller是完全和view隔离的对view毫无意识,这样就可以做单元测试了。因为可以很容易与view,dom和浏览器完全隔离,单独测试controller。