我有一个名为ApiEndpoint的注射服务。我需要在另一个类中使用此服务,但是我遇到了问题。
代码如下:
//apiEndpoint.ts
@Injectable()
export class ApiEndpoint {
constructor(private _http: Http) {}
createGroup() { this._http...)
}
// group.ts
import {ApiEndpoint} from './apiEndpoint';
export class Group {
public name: string;
constructor(){}
save(){
ApiEndpoint.createGroup(); <== ERROR
}
}
我们很少有地方导入'group.ts'并执行以下操作
let myGroup = new Group();
myGroup.name = 'foo';
myGroup.save();
我收到以下错误:
Property 'createGroup' does not exist on type 'typeof ApiEndpoint'.
如何解决此问题?
答案 0 :(得分:3)
Object [] combinedObjects = {1, 2, 3, "Hello", "World"};
String [] combinedStrings = {"1", "2", "3", "Hello", "World"};
是一个实例方法,您尝试将其用作静态方法。使用依赖注入:
createGroup()
然后在需要创建组的组件中注入GroupFactory,并使用
export class Group {
public name: string;
constructor(private apiEndpoint; ApiEndpoint ){}
save() {
this.apiEndpoint.createGroup();
}
}
@Injectable()
export class GroupFactory {
constructor(private apiEndpoint: ApiEndpoint) {}
createGroup() {
return new Group(this.apiEndpoint);
}
}