Angular 2:没有(2.0.0.0)的提供者

mos*_*ine 2 module angular

我最近迁移到Angular 2 RC6,现在迁移到2.0.0.

我有一个模块从另一个模块注入模块.

模块声明代码:

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AdminAppComponent } from './Components/admin-app.component';

import { Module2 } from "./module2/module2";



@NgModule({
    imports: [BrowserModule, Module2],
    declarations: [AdminAppComponent],
    bootstrap: [AdminAppComponent],
    providers: []
})
export class AdminAppModule {
}
Run Code Online (Sandbox Code Playgroud)

组件代码:

import { Component } from "@angular/core";

import { TestService } from "./../module2/services/TestService";
@Component({
    selector: "yadm-app",   
    templateUrl: "/templates/admin/app/admin-app.tpl.html"
})


export class AdminAppComponent {


    constructor(private ser: TestService) {


    }
}
Run Code Online (Sandbox Code Playgroud)

导入的模块(Module2)代码:

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { BrowserModule } from '@angular/platform-browser';

import {TestService } from "./Services/TestService";

@NgModule({
    imports: [BrowserModule],
    declarations: [],
    bootstrap: [],
    providers: [{ provide: TestService, useClass: TestService }]
})
export class Module2 { }
Run Code Online (Sandbox Code Playgroud)

和服务代码:

import { Injectable } from '@angular/core';

@Injectable()
export class TestService {
    getText(): string {
        return "texxxt";
    }
}
Run Code Online (Sandbox Code Playgroud)

我收到错误:"没有TestService的提供者".知道它在RC5中正常工作.

我也注意到TestService.js正在加载两次.

发生什么了 ?

谢谢

mos*_*ine 6

我觉得经过几天的挣扎,我找到了答案!

这都是关于进口中的大写字母.

所以当我写下打字稿时:

import {AdminHomeComponent} from "./components/admin-home.component";
import {AdminHomeComponent} from "./Components/admin-home.component";
Run Code Online (Sandbox Code Playgroud)

angular 2将此视为两个单独的文件,并触发两个获取查询以加载文件!

后面的后果非常奇怪,例如组件未被识别为模块的一部分,而着名的消息传递表明没有给定服务的提供者.

谢谢大家!