Angular如何判断某个DOM节点包含Directive

295 阅读1分钟

如下图所示:核心的逻辑位于下图isDirectiveHost函数中:

function isDirectiveHost(tNode) {
    return (tNode.flags & 1 /* isDirectiveHost */) === 1 /* isDirectiveHost */;
}

上下文:ɵɵelementStart

flags:1,表示directive host:

这个tNode结构应该是Angular运行时根据Angular编译器处理TypeScript文件而生成的结果。

更多Jerry的原创文章,尽在:“汪子熙”: