首页 新闻 搜索 专区 学院

angularjs中DOM转换什么意思啊?

0
[已解决问题] 解决于 2015-09-22 17:40

是指dom对象转换成jquery对象吗,还是说标签的替换?

杜俊强的主页 杜俊强 | 菜鸟二级 | 园豆:202
提问于:2015-09-22 00:15
< >
分享
最佳答案
0

应该是Angularjs在执行时,将其特有的DOM-Directive转换成HTML可识别的DOM对象.

Angularjs的三个步骤:

1. 首先,通过浏览器的标准API,将HTML转换为DOM对象。这是很重要的一步。因为模版必须是可解析(符合规范)的HTML。这里可以跟大多数的模版系统做对比,它们一般是基于字符串的,而不是基于DOM元素的。

2. 对DOM的编译(compilation)是通过调用$comple()方法完成的。这个方法遍历DOM,对directive进行匹配。如果匹配成功,那么它将与对应的DOM一起,加入到directive列表中。只要所有与指定DOM关联的directive被识别出来,他们将按照优先级排序,并按照这个顺序执行他们的compile() 函数。directive的编译函数(compile function),拥有一个修改DOM结构的机会,并负责产生link() function的解析。$compile()方法返回一个组合的linking function,是所有directive自身的compile function返回的linking function的集合。

3. 通过上一步返回的linking function,将模版与scope连接起来。这反过来会调用directive自身的linking function,允许它们在元素上注册一些监听器(listener),以及与scope一起建立一些watches。这样得出的结果,是在scope与DOM之间的一个双向、即时的绑定。scope发生改变时,DOM会得到对应的响应。

奖励园豆:5
JackWang-CUMT | 老鸟四级 |园豆:2866 | 2015-09-22 08:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册