Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.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中的typescript类中使用服务+_Angular - Fatal编程技术网

是否可以在Angular 2中的typescript类中使用服务+

是否可以在Angular 2中的typescript类中使用服务+,angular,Angular,我有一个类,它不是用@Injectable注释的 export class A extends B { calculateTotal(): number { //Implementation } } 上面的函数calculateTotal需要使用一个带有@Injectable注释的服务,以便能够获取一些值来执行一些合计。问题是:在那个类中使用那个服务可以吗 Ashley将一个SomeService实例注入A类有不同的方法。我在Ionic 2中使用的方法是:

我有一个类,它不是用@Injectable注释的

export class A extends B {

    calculateTotal(): number {
        //Implementation
    }
} 
上面的函数calculateTotal需要使用一个带有@Injectable注释的服务,以便能够获取一些值来执行一些合计。问题是:在那个类中使用那个服务可以吗


Ashley

将一个SomeService实例注入A类有不同的方法。我在Ionic 2中使用的方法是:

如果类A可以是组件,则将@Component装饰器添加到其定义中,并将提供者元数据添加到该定义中; 导入A类定义文件中的服务定义; 向类a添加构造函数方法,并将服务实例声明为参数。 例如,假设服务类名为SomeService,并在文件some.service.ts中定义,该文件与当前源文件位于同一目录中:

import { Component } from '@angular/core';
import { SomeService } from './some.service';

@Component({
    providers: [ SomeService ]
})
export class A extends B {

    constructor( public s:SomeService ){}

    otherMethod(){
        this.s; // SomeService is accessible like this
    }
}

有关更多信息,请访问

是的,它是正常的,并且有文档记录:。你能详细说明一下你的问题吗?“你问的问题不太清楚。”保洛斯特凡编辑了我的问题