我已在Angular 4中创建了模块。我还使用@Injectable创建了服务,并将其添加到了模块中。现在我的要求是,服务不应在模块加载期间加载。只有当我执行某个操作或事件(例如单击)时,服务才应该加载。请帮助我如何实现这个要求。
谢谢, Narsi p
谢谢, Narsi p
您需要明确使用注入器。注入器是实例化服务的工具。
假设square是该服务,
class Square { name = 'square'; }
使用以下代码在组件中调用服务。
const injector = Injector.create({providers: [{provide: Square, deps: []}]});
const shape: Square = injector.get(Square);
expect(shape.name).toEqual('square');
expect(shape instanceof Square).toBe(true);
@Injectable({
providdedIn : 'root'
})