首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

关于 Angular 注解 @Injectable() 使用的一些误区

一个常见的误解是,@Injectable() 是我们计划在应用程序中注入组件/服务的任何类的必需装饰器。 这种说法并不完全正确。...当使用 Angular 装饰器时,被装饰的类以 Angular 可以读取的格式存储关于自身的元数据——这包括关于它需要获取和注入哪些依赖项的元数据。...如果一个类上没有使用 Angular 装饰器,那么 Angular 就无法读取它需要的依赖项。 这就是我们需要使用@Injectable() 的原因。...如果我们的服务注入提供者,我们必须添加 @Injectable(),这个注解除了告诉 Angular 存储它需要的元数据之外,没有实现其他额外的功能。...解决方案就是使用 @Injectable 注解: import { Injectable } from '@angular/core'; import { Http } from '@angular/http

1K10

从编译后的代码,分析 Angular @Injectable 的工作原理

在开始本文的讨论之前,让我们先做一道多选题: 下面对于 @Injectable 的描述,哪些是正确的? A @Injectable 装饰器应该添加到每个服务中。...B @Injectable 装饰器应该添加到任何使用依赖注入 (DI) 的服务中。 C 如果您不使用“providedIn”选项,则不需要添加 @Injectable 装饰器。...Angular 带有自己的 DI 框架,并用于 Angular 应用程序的设计以增强其模块化和效率。 @Injectable() 是任何 Angular 服务定义的重要组成部分。...有些人可能选择错误答案的原因是他们错误地判断了@Injectable 装饰器和Angular 中的DI 之间的关系,不了解这个装饰器的真正作用。...import { HttpClient } from '@angular/common/http'; @Injectable() export class MyService { constructor

64630

Angular 从入坑到挖坑 - HTTP 请求概览

} from '@angular/core'; // 引入 HttpClient 类 import { HttpClient } from '@angular/common/http'; @Injectable...,然后设定 get 请求的响应对象为 GetQuotesResponseModel,之后在使用时就可以以一种结构化数据的方式获取请求返回的数据信息 import { Injectable } from...根据 postman 的调用示例,在服务中定义一个方法用来提交毒鸡汤信息,这里的 SetQuotesResponseModel 为接口返回的响应对象 import { Injectable } from...'请求成功' : '请求失败', // 2、如果存在了 error 回调,则请求失败 error => msg = '请求失败' ), finalize...'请求成功' : '请求失败', // 2、如果存在了 error 回调,则请求失败 error => msg = '请求失败' ), finalize

5.2K10

Angular核心-创建对象-HttpClient

(达内教育学习笔记)仅供学习交流 Angular核心-创建对象 Angular核心-创建对象创建对象的两种方式Angular核心概念---服务和依赖注入创建服务对象的步骤:使用Angular官方提供的服务对象...---HttpClient Service Angular核心-创建对象 创建对象的两种方式 Angular核心概念---服务和依赖注入 创建服务对象的步骤: 使用Angular官方提供的服务对象--...-HttpClient Service 创建对象的两种方式 方式1:手工创建式—自己创建:let c2 =new Car() 方式2:依赖注入式—无需自己new,只需要声明依赖;服务提供者就会创建被依赖的对象...放在“服务对象”中,为组件服务;例如:日志记录,记时统计,数据服务器的访问… 创建服务对象的步骤: 1.创建服务对象并指定服务提供者 import { Injectable } from "@angular.../core" //所有的服务对象都是“可被注入的” @Injectable({ providedIn:"root" //指定当前服务对象在根模块中提供-appmodule }) export

1.2K20

Angular 2 前端 http 传输 model 对象及其外键的问题

如果让开发在每处地方自行处理返回数据,则开发和可能直接返回整个 deviceType 对象,而 deviceType 对象还有其它外键,从而造成 json 序列化时的级联加载,加载 N 多不需要的数据...所以要解决的问题: 避免数据级联加载,加载 N 多不需要的数据 数据缓存,已存在的无需再加载 数据引用一致,对于多个 detail 引用同一个 deviceType 外键,deviceType 应是一个对象...方案1: 开发人员在 ts 的 model 里,先配置好,那个属性,对应的外键对象是什么,可以用注解配置,或者代码配置 方案2:服务端返回的不是当前 detail 的纯 model...item:{ id:1,name:”设备1”,deviceTypeId:”123” // 一对多 childs:[1,2,3...“123”:{id:”123”,name:”设备1″} } child:{ 1:{}, 2:

1K20
领券