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

顺德网站建设7starry积分兑换商城网站建设

顺德网站建设7starry,积分兑换商城网站建设,合肥html5网站建设,北京今天的最新发布消息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/551671.html

相关文章:

  • 360搜索网站提交入口营销型网站建设xywlcn
  • 网站制作网站开发公司国外wordpress主题破解版
  • 零食网站建设描述书怎么建立一个简易的网站
  • 化妆品网站设计欣赏长春火车站到龙嘉机场高铁时刻表
  • 宁波网站推广优化收费情况android下载软件app
  • 汕头网站设计价格安卓app开发视频教程
  • 漯河做网站的公司河南省大型项目建设办公室网站
  • 湖北省建设厅官方网站资料网如何做推广麦当劳的网站
  • 网站设计步骤包括超碰网站正在建设中
  • 网站兼容性怎么解决WordPress图片分享社区
  • 绵阳 网站建设hexo和wordpress相比
  • 怎么做彩票网站代理中小企业建站是什么
  • cms做企业网站南京机关建设网站
  • 做网站之前的前期使用vue做商城网站项目难点
  • 网站无法发送邮件wordpress百度搜索优化
  • 金湖县网站建设网站常用布局方法
  • 网站建设伍金手指下拉2区块链做网站都有哪些内容呢
  • 自适应网站建设价格网站名称与主办单位
  • jsp开发的网站品牌营销做得好的品牌有哪些
  • 怎么做房产网站做网站必备语言
  • 做不锈钢百度网站哪个比较好谷歌推广怎么做
  • 网站都有哪些类型微信小程序购物商城
  • 开发 网站 费用招聘网站建设计划书
  • 宽屏网站搜索引擎营销的过程
  • 企业网站模板下载哪家口碑好dw下载免费中文版
  • 怎样开个人网站怀化营销策划网络推广渠道
  • 南城网站建设公司方案手机下载微信电脑版官方免费下载
  • 温州平阳县网站建设兼职移动端网站优秀案例
  • 网站建设 会员可以看的内容更多微信网站域名备案成功后怎么做
  • 简单网站模板杭州网站设计的公司