AngularJS与其它框架的混用(jQuery, Dojo)

最后更新于:2022-04-01 22:40:19

# 16. AngularJS与其它框架的混用(jQuery, Dojo) 这个问题似乎很多人都关心,但是事实是,如果了解了 ng 的工作方式,这本来就不是一个问题了。 在我自己使用 ng 的过程当中,一直是混用 jQuery 的,以前还要加上一个 Dojo 。只要了解每种框架的工作方式,在具体的代码中每个框架都做了什么事,那么整体上控制起来就不会有问题。 回到 ng 上来看,首先对于 jQuery 来说,最开始说提到过,在 DOM 操作部分, ng 与 jQuery 是兼容的,如果没有 jQuery , ng 自己也实现了兼容的部分 API 。 同时,最开始也提到过, ng 的使用最忌讳的一点就是修改 DOM 结构——你应该使用 ng 的模板机制进行数据绑定,以此来控制 DOM 结构,而不是直接操作。换句话来说,在不动 DOM 结构的这个前提之下,你的数据随便怎么改,随便使用哪个框架来控制都是没问题的,到时如有必要使用 `$scope.$digest()` 来通知 ng 一下即可。 下面这个例子,我们使用了 jQuery 中的 _Deferred_ ( `$.ajax` 就是返回一个 _Deferred_ ),还使用了 ng 的 _$timeout_ ,当然是在 ng 的结构之下: 1 2 3 4 5 AngularJS 6 7 8 9
10 {{ a }} 11
1213 41 42 再把 Dojo 加进来看与 DOM 结构相关的例子。之前说过,使用 ng 就最好不要手动修改 DOM 结构,但这里说两点: 1. 对于整个页面,你可以只在局部使用 ng ,不使用 ng 的地方你可以随意控制 DOM 。 1. 如果 DOM 结构有变动,你可以在 DOM 结构定下来之后再初始化 ng 。 下面这个例子使用了 _AngularJS_ , _jQuery_ , _Dojo_ : 1 2 3 4 5 AngularJS 6 8 9 1011
1213

14 15

1617

18 19

2021

22 23 24

2526

27 需要编辑的内容: 28 29

3031
32
33
3435
363738 94 95
';