当前位置: 首页 > news >正文

蒙古网站后缀国内知名设计工作室

蒙古网站后缀,国内知名设计工作室,微博推广运营,域名备案网站负责人Angular 依赖注入Angular为什么会有依赖注入Angular依赖注入提供依赖项注入依赖项多级注入器解析规则总结Angular为什么会有依赖注入 Angular.js 起初是为了解决谷歌内部复杂中大型的前端应用,同时是一批 Java 程序员打造的,所以首次在前端中大胆引入了依…

Angular 依赖注入

  • Angular为什么会有依赖注入
  • Angular依赖注入
    • 提供依赖项
    • 注入依赖项
    • 多级注入器
    • 解析规则
  • 总结

Angular为什么会有依赖注入

  • Angular.js 起初是为了解决谷歌内部复杂中大型的前端应用,同时是一批 Java 程序员打造的,所以首次在前端中大胆引入了依赖注入,那么 Angular 是基于 Angular.js 打造的新一代前端框架,所以延续了依赖注入特性,并改善了层级注入器,同时采用了更优雅的装饰器 API 形式

  • Angular 的服务 + 依赖注入完美解决了数据共享和逻辑复用问题,服务本质上和 React Hooks 没有太多的区别,只是 API 形态不一样,一个是通过函数形式一个是通过类+依赖注入,因为这两个框架的底层机制和思想不一样,导致了 API 表现形式的不同,但是最终都是在解决数据共享和逻辑复用的问题。

Angular依赖注入

提供依赖项

  • @[Injectable](https://angular.cn/api/core/Injectable) 装饰器以表明此类可以被注入
  • 在组件级别,使用 @[Component](https://angular.cn/api/core/Component) 装饰器的 providers 字段
  • 在 NgModule 级别,要使用 @[NgModule](https://angular.cn/api/core/NgModule) 装饰器的 providers 字段
  • 在应用程序根级别,允许将其注入应用程序中的其他类。这可以通过将 providedIn: 'root' 字段添加到 @[Injectable](https://angular.cn/api/core/Injectable) 装饰器来实现

摇树优化

注入依赖项

检查注入器中是否有该服务的实例,如果没有注入器就会使用注册的提供者创建一个,并将其添加到注入器中。

在这里插入图片描述

多级注入器

使用 Angular 构建的应用程序可能会变得非常大,管理这种复杂性的方法之一是将应用程序拆分为许多封装良好的小模块,这些模块本身也会拆分为定义明确的组件树。

注入器层次结构的类型

  • ModuleInjector 层次结构
    • 使用 @[Injectable](https://angular.cn/api/core/Injectable)()providedIn 属性优于 @[NgModule](https://angular.cn/api/core/NgModule)()providers 数组。使用 @[Injectable](https://angular.cn/api/core/Injectable)()providedIn 时,优化工具可以进行摇树优化,从而删除你的应用程序中未使用的服务,以减小包尺寸。

    • providedIn: 'root'

      在这里插入图片描述

      • Services are singleton for the whole application, also for lazy loaded modules(eagerly-loaded modules)
      • No need to explicitly register the service with a NgModule
    • providedIn: 'platform'

      在这里插入图片描述

    • providedIn: 'any' // DEPRECATED since Angular v15

      在这里插入图片描述

    • providedIn: MyModule // DEPRECATED since Angular v15

    • providedIn: MyComponent // DEPRECATED since Angular v15

  • ElementInjector 层次结构
    • Angular 会为每个 DOM 元素隐式创建 ElementInjector
    • @[Directive](https://angular.cn/api/core/Directive)()@[Component](https://angular.cn/api/core/Component)()

解析规则

在这里插入图片描述

解析修饰符

  • 如果 Angular 找不到你要的东西该怎么办,用 @[Optional](https://angular.cn/api/core/Optional)()
  • 从哪里开始寻找,用 @[SkipSelf](https://angular.cn/api/core/SkipSelf)()
  • 到哪里停止寻找,用 @[Host](https://angular.cn/api/core/Host)()@[Self](https://angular.cn/api/core/Self)()

总结

Angular依赖注入

  • 提供依赖项
  • 注入依赖项
  • 多级注入器
  • 解析规则
http://www.dtcms.com/a/509535.html

相关文章:

  • 单页网站怎么制作昆明企业网站建设公司
  • 建设银行兰州分行网站百度小程序开发平台
  • 朝阳网站建设 慈云寺厦门易尔通网站建设好吗
  • 网站 备案 哪个省建设培训中心网站
  • 成都大型网站建设公司iis网站属性在哪
  • 中国站长查询域名备案西安有哪些做网站的公司好
  • 东莞定制网站建设jsp网站部署怎么做
  • 百度推广太原网站建设阿里云服务器添加网站
  • 2016网站优化今天深圳新增确诊最新消息
  • 驾校官方网站 模板wordpress手动装插件
  • 怎样直接输入网址打开网站ps做网站标签
  • 甘肃肃第八建设集团网站1wordpress关联adsense
  • 长沙做网站开发多少钱服务行业做网站
  • 大学生免费ppt网站长沙网站制作工作室
  • 西宁吧 百度贴吧网站优化反馈机制 seo
  • 哪些网站可以做兼职设计建网站和开发app哪个难
  • 网页制作与网站建设06627网站建设 王卫洲
  • 网站背景动图怎么做2022年新闻热点摘抄
  • 手机网站jq导航菜单网站平台建设流程
  • 网站八个如何加入广告联盟赚钱
  • 怎么做淘宝客的跳转网站广告位网站建设
  • 博罗网站建设公司做网站用需要几个软件
  • 门户网站建设多久空间设计英文
  • 建立网站原理网站返回503的含义是
  • 机关建设网站软件技术前端开发
  • 扬州建设网站做seo要投入什么
  • 中国住房建设部网站示范学校建设专题网站
  • 模板网站什么意思wordpress order
  • 哪些网站可以找到做药人的信息湘潭网站建设 问下磐石网络
  • Java 重点语法