AngularJS学习笔记(五)

最后一部分啦~

自定义compile与link函数

  • compile函数的作用:对指令的模版进行转换 link的作用:在模型和视图之间建立关联,包括在元素上注册事件监听

    scope在链接阶段才会被绑定到元素上

    对于同一指令的多个实例,compile只会执行一次,而link对于指令的每个实例都会执行一次

    compile函数应该返回一个link函数供后续处理

    一般只要编写link函数就够了

  • 从ng-app开始,递归子层DOM结构,收集指令
  • 首先会在ng-app指令的位置创建$rootScope
  • 如果有需要,为指令生成childScope
  • childScope绑定到元素的data属性上
  • 调用每个指令自己的compile函数生成compositeLinkFn函数
  • 编译的结果是返回一个publiclinFn函数

$scope / 双向数据绑定

var $rootScope = new Scope()

绑定:一维,二维,Tree型

由于ng的$digest机制和“对象深比较”机制,ng在处理Tree型结构方面性能非常差

这一点相当有体会,第一个工作任务就是写一个tree,因为之前用的是ng的tree,如果数据量层次深的话,递归太多,性能太差。

ng内嵌表达式不支持if/for/while等控制逻辑——它的实现 $eval

一个小任务:自己实现双向数据绑定
(这个之前360特训营的时候也有相关的练习,关键点在于理解原理)

移动端几乎没有Grid,Tree等UI框架等需求

ionic 基于angularJS的——豆瓣音乐人
Web App——运行效率太差

hybridAPP最本质的改进在于使用了多个WebView实例

前端自动化测试
TDD
Unit
E2E(protractor)
其实讲到测试,的确比较少用,然后有测试团队,最后的E2E也是他们在做了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值