我在Angular 2中构建了一个基本的应用程序,并遇到一个奇怪的问题,我无法注入一个服务到我的组件之一。它注入精细到任何我创建的三个其他组件。
对于初学者这是服务(它是非常基本的,因为我只是测试的东西现在):
import { Injectable } from '@angular/core'; @Injectable() export class MobileService { screenWidth: number; screenHeight: number; constructor() { this.screenWidth = window.outerWidth; this.screenHeight = window.outerHeight; window.addEventListener("resize",this.onWindowResize.bind(this) ) } onWindowResize(ev: Event) { var win = (ev.currentTarget as Window); this.screenWidth = win.outerWidth; this.screenHeight = win.outerHeight; } }
和它拒绝使用的组件:
import { Component,} from '@angular/core'; import { NgClass } from '@angular/common'; import { ROUTER_DIRECTIVES } from '@angular/router'; import {MobileService} from '../'; @Component({ moduleId: module.id,selector: 'pm-header',templateUrl: 'header.component.html',styleUrls: ['header.component.css'],directives: [ROUTER_DIRECTIVES,NgClass],}) export class HeaderComponent { mobileNav: boolean = false; constructor(public ms: MobileService) { console.log(ms); } }
我在浏览器控制台中得到的错误是:
EXCEPTION:无法解析HeaderComponent:(?)的所有参数。
我有在引导功能的服务,所以它有一个提供程序。我似乎能够将它注入我的任何其他组件的构造函数没有问题。
有没有人看到任何明显的原因,为什么这不工作?