面试题答案
一键面试-
参数装饰器第一个参数
target
代表:target
代表被装饰方法所在的类的原型对象。例如,如果有一个类MyClass
,在这个类的某个方法上使用参数装饰器,那么target
就是MyClass.prototype
。
-
依赖注入在这种场景下的基本流程:
- 定义装饰器:首先定义一个参数装饰器函数,这个函数接收
target
(类的原型对象)、propertyKey
(方法名)和parameterIndex
(参数在方法参数列表中的索引)作为参数。 - 标记依赖:在需要依赖注入的方法参数上使用这个装饰器,以此标记该参数是一个依赖。
- 容器管理:创建一个依赖容器,用于存储和管理依赖对象。这个容器可以是一个简单的对象,也可以是一个更复杂的依赖注入框架提供的容器。
- 解析依赖:在实例化类或者调用被装饰方法之前,从依赖容器中根据标记解析出对应的依赖对象,并将其注入到方法的参数中,从而实现依赖注入,让方法可以使用外部提供的依赖对象进行工作。
- 定义装饰器:首先定义一个参数装饰器函数,这个函数接收