Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;“无供应商”;在我的Angular 2.0.0项目中_Angular_Typescript_Angular2 Services - Fatal编程技术网

&引用;“无供应商”;在我的Angular 2.0.0项目中

&引用;“无供应商”;在我的Angular 2.0.0项目中,angular,typescript,angular2-services,Angular,Typescript,Angular2 Services,我创建了一个名为SecurityService的简单服务。代码如下: import { Injectable } from '@angular/core'; @Injectable() export class SecurityService { items: any[]; constructor() { this.items = [ { name: 'User 1' }, { name: 'User 2' },

我创建了一个名为SecurityService的简单服务。代码如下:

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

@Injectable()
export class SecurityService {
    items: any[];

    constructor() {
        this.items = [
            { name: 'User 1' },
            { name: 'User 2' },
            { name: 'User 3' }
        ];
    }

    getItems() {
        return this.items;
    }
}
为了利用这项服务,我创建了一个简单的页面

import { Component } from '@angular/core';
import { SecurityService } from '../services/security.service'

@Component({
    selector: 'test-page',
    template: require('./test/test.page.html'),
    providers: [SecurityService]
})
export class TestPage {
    items: any[];

    constructor(private securitySvc: SecurityService) {
          this.items = securitySvc.getItems();
    }
}
加载此页面时,我收到错误消息“没有为SecurityService提供任何提供程序!”。经过大量的搜索,我无法找出这个问题的解决办法

我是否应该发布其他帮助解决此问题的内容

非常感谢您的帮助

  • sroye98

我不确定到底发生了什么,但只要我在Visual Studio 2015中重建了应用程序。应用程序开始工作。正如kemsky所说,代码很好,可能是Visual Studio的一些问题。

除了您展示的内容外,还必须在模块级别注册服务:

从'@angular/core'导入{NgModule};
从“@angular/platform browser”导入{BrowserModule};
从'@angular/http'导入{HttpModule};
从“./services/configuration.service”导入{ConfigurationService};
@NGD模块({
进口:[
浏览器模块,
HttpModule
],
声明:[
//...
],
供应商:[
配置服务
],
引导:[AppComponent]
})

导出类AppModule{}
提供的代码完全有效,请尝试重建应用程序,重新启动ng serve。是否SecurityService在给定的“测试页”组件之前以某种方式被实例化?出于测试目的,请尝试在AppModule中提供SecurityService,而不是在TestPage中。您需要在模块中声明您的服务。