0

我有一项服务注入到我的应用程序组件中。

app.component.ts

import { Component } from '@angular/core';
import {ProductService} from '../../../products/Classes/Product.Service';
import {TestService   } from '../../../products/Classes/test.service';

@Component({
    selector: 'pm-app',
    moduleId:module.id,
    templateUrl: '../View/PageTitle.html',
    providers:[ProductService,TestService]

})
export class AppComponent {
    pageTitle:string ='Acme Product Management';
 }

我的文件夹结构如下 应用程序文件夹结构

我的服务存在于产品文件夹而不是产品文件夹中。当我在导入语句中将其更改为大写时,我的应用程序会中断“No Provider For ...”。有人可以告诉我为什么会这样。我不知道为什么!!!

4

3 回答 3

1

如果您的课程ProduceService在此文件中命名,则应该可以

import {ProductService} from '../../../Products/Classes/product.service';
于 2017-01-06T12:38:45.980 回答
1

文件名区分大小写。

利用import {ProductService} from '../../../Products/Classes/product.service';

于 2017-01-06T12:46:44.103 回答
1

我发现了问题

在我的app.module

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { ProductListComponent }  from '../../../products/component/product-list';
import { AppComponent }  from '../Component/app.component';
import {FormsModule} from '@angular/forms';
import {ProductListFilterPipe} from '../../../products/component/product-list-filter.pipe';
import {StarComponent} from '../../star/Component/star.component';

@NgModule({
  imports: [ 
    BrowserModule,
    FormsModule 
    ],
  declarations: [ AppComponent,ProductListComponent,ProductListFilterPipe,StarComponent ],
  bootstrap: [ AppComponent ]
})
export class AppModule { }

我的 ProductListComponent 和 ProductListFilterPipe 的导入有小写的 p。我将其更改为上部,现在它可以工作了。

摘要:路径在某种意义上区分大小写。根据我的测试,这不是将引用与文件夹案例匹配,而是要保持引用一致。

谢谢

于 2017-01-06T12:53:16.573 回答