目录
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
1、Angularjs双向绑定后,发生了什么事情?是什么可以让view层和Controller层进行绑定的?
单向数据绑定:指的是我们先把模板写好,然后把模板和数据(数据可能来自后台)整合到一起形成HTML代码,然后把这段HTML代码插入到文档流里面,但是单向绑定有个缺点,就是如果有新的数据来了,那就必须把之前的HTML代码去掉,再重新把新的数据和模板一起整合后插入到文档流中。
双向绑定:数据模型和视图之间的双向绑定。意思就是当用户在视图上的修改会自动同步到数据中去,同样的,如果数据中的值发生了变化,也会立刻同步到视图中去。
AngularJS模板的工作原理不同。不同之处在于:第一,模板(附加了自定义属性等标记的未经编译的HTML)是由浏览器编译的;
第二,编译最后产生的是一个动态的视图。这里动态指的是视图的任何变化都会直接反应到模型,反之亦然。这使得模型总是应用状态的唯一标识,这大大简化了开发人员的编程工作。你可以简单地认为视图只是模型的投影
angularjs双向绑定后,发生了什么事情?
什么让view层和Controller层进行绑定的?
digest和apply有何区别?干嘛不直接使用digest?
1.apply可以带参数,它可以接受一个函数,然后在应用数据之后,调用这个函数。
2.当调用digest的时候,只触发当前作用域和它的子作用域上的监控,但是当调用apply的时候,会触发作用域树上的所有监控。
语法:
return[()[expression][]];
可选项 expression 参数是要从函数返回的值。如果省略,则该函数不返回值。
用 return 语句来终止一个函数的执行,并返回 expression 的值。如果 expression 被省略,
或在函数内没有 return 语句被执行,则把值 undefined 赋给调用当前函数的表达式。