我的 Angular 应用里,有一个 selector 为 app-root 的 Component:

运行时,基于这个 selector 创建 Component reference:

进而创建 root Component view:

以及 view renderer:

此时app-root节点是空的,没有任何属性生成:

给 app-root 设置 hostAttr:

给 Angular 应用设置版本号,版本号从 VERSION 变量里取出:

通过合适的方法,使用 Angular 构建的应用,可复用在多种不同平台的应用上 —— Web、移动 Web、移动应用、原生应用和桌面原生应用。

为了能够支持跨平台,Angular 通过抽象层封装了不同平台的差异。比如定义了抽象类 Renderer2 、抽象类 RootRenderer 等。此外还定义了以下引用类型:ElementRef、TemplateRef、ViewRef 、ComponentRef 和 ViewContainerRef 等。通过模板变量、@ViewChild 等方法获取DOM元素。

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

Angular Component 的 renderer 创建机制以及 Angular 版本号的确定方式相关推荐

  1. SAP 电商云 Spartacus UI Angular Component 动态创建的单步调试

    Jerry 之前的文章SAP 产品 UI 里的容器组件的概念和开发概述介绍过,SAP Spartacus Angular Component,通过我们开发团队自定义的指令 cxComponentWra ...

  2. 深入解析Angular Component的源码示例

    本篇文章主要介绍了剖析Angular Component的源码示例,写的十分的全面细致,具有一定的参考价值,对此有需要的朋友可以参考学习下.如有不足之处,欢迎批评指正. Web Component 定 ...

  3. angular过滤字符_如何使用Angular和Azure计算机视觉创建光学字符读取器

    angular过滤字符 介绍 (Introduction) In this article, we will create an optical character recognition (OCR) ...

  4. 使用 Rxjs 解决 Angular Component 之间的通信问题

    本文讨论如果两个 Angular Component 彼此不知道对方的存在,并且也没有共享的父子 Component 时,如何进行通信. 在包括 Angular 在内的许多前端框架中,当我们将应用程序 ...

  5. 关于 Angular Component ngOnDestroy 钩子函数的调用时机

    我开发了一个 Angular Component,实现了 ngOnDestroy 钩子方法之后,没有找到其被调用的方法.查看这个StackOverflow链接后,得知无论是我刷新浏览器,还是从当前页面 ...

  6. Angular Component代码和编译后生成的JavaScript代码

    从 TypeScript 转换为 JavaScript 在这里称为编译. 在这种情况下,compiling 并不意味着创建二进制代码. 对于这种翻译,使用术语 transpilation 而不是 co ...

  7. Angular Component模板里的元素,运行时如何被生成并插入到DOM tree中

    我有一个selector为app-root的Angular Component: 其模板文件里只有一行html代码: 在运行时,这个h1标签是如何插入到整个DOM tree里的呢? 在Angular ...

  8. SAP Spartacus维护CMS Component到Angular Component的源代码位置

    Spartacus界面上的banner,如下图所示,对应着HTML源代码里的cx-banner标签: cx-banner下面是cx-generic-link: 这个cx-generic-link包含一 ...

  9. SAP Spartacus B2B user列表对应的Angular Component

    如下图所示,这个页面点击之后: 显示的Angular UI,在SAP Spartacus里并没有单独的Angular Component来实现: 在userCmsConfig里能发现,SAP Comm ...

最新文章

  1. Express4.x API (四):Router (译)
  2. 图灵奖得主Bengio明星创业公司被「贱卖」| AI日报
  3. 【原创】推荐广告入门:DeepCTR-Torch,基于深度学习的CTR预测算法库
  4. 使用 QuickBI 搭建酷炫可视化分析
  5. docker容易内部怎么编辑_在Docker的工作流中常见问题及最终方案
  6. python函数语法学习
  7. Easyui datagrid getData简单使用
  8. linux mint 检测网卡驱动,使用linux mint 安装无线网卡驱动
  9. 需求分解与需求跟踪矩阵
  10. 2022前端春招——CVTE笔试编程题
  11. 0基础使用php五分钟实现数据库增删改查功能
  12. 安装torch 时,bash install-deps错误
  13. inurl:faq.php?action=,什么是财富等级 | 帮助 | 酷狗直播 | 就是歌手多
  14. 7-4 疯狂星期四!!!!!
  15. 电脑不分盘有没有关系
  16. 私有vlan(PVLAN)实验配置步骤
  17. 关于自考 我想说这些
  18. 英语发音规则---E字母
  19. Python搭建代理IP池(一)- 获取 IP
  20. 页面加密代码,附效果演示

热门文章

  1. hue迁移数据库到mysql
  2. 2017年5个网络行业快速发展技术趋势
  3. (深入.Net平台和C#编程)第七章.上机练习.20170412
  4. 【闲聊产品】之七:投票真的有用么?
  5. c# 扩展方法奇思妙用高级篇一:改进 Scottgu 的 In 扩展
  6. Internet 网络协议族
  7. sqlalchemy(二)高级用法
  8. ubuntu环境下搭建Ethereum测试私链及JSON-RPC合约交互
  9. 二、redis系列之持久化
  10. [转]Laravel与bootstrap-editable实现table的行内编辑