发表于: 2017-07-10 23:19:32

1 1009


今天完成的事情

继续学习了指令部分

 

收获

指令中的compile属性:使用compile会可以返回两个对象,prelink和postlink,返回postlink在自定义指令中即和link属性相同;

angular发现页面dom构建完成后就开始处理dom,如果你在定义指令的时候只使用了一个link函数,那么ng会把这个函数当成post-link来处理, ng遍历完所有的dom并运行完所有的compile函数之后,就反向调用相关联的post-link函数. 当运行包含子指令的指令post-link,反向的post-link规则可以保证它的子指令的post-link是已经运行过的.

prelink:它能够保证在执行所有子指令的post-link函数之前.运行一些别的代码. pre-link函数能够保证在element实例上以及它的所有子指令的post-link运行之前执行.如图:

     

 

require:require的作用是为了让父子指令或者兄弟指令的controller之间搭建一个桥梁
也就是说父指令里的controller里面的数据能分享给子指令的controller
其中子指令的link第四个参数的值是父指令的controller对象的作用域上下文
require
有两个修饰符号:”?””^”
? : 如果在当前指令中没有找到所需要的控制器,会将 null 作为传给 link 函数的第四个参数

^ : 表示往父级查找

默认在同级查找控制器:requiredirectiveName

controller:使用函数创建内联控制器
controllerAs:即给控制器起名,上述所提到的require即通过此控制器名称链接

遇到的问题

暂无

明天计划的事情

进复盘的准备:查规范/问问题/demo,准备后天进行方案评审



返回列表 返回列表
评论

    分享到