我希望使用 classA.moduleClassB
的模块扩展我的提供商,但我不能,但我不知道如何将模块类对象导入我的控制器页面作为提供商
示例(我想要):
提供商/my-Provider/myprovider.ts
export class MyParentClass {
//...
}
export module a {
class MyChildClass {
//...
}
}
页/home/home.ts
import { Component } from '@angular/core';
import { MyParentClass, MyChildClass } from '../../providers/my-provider'
@Component({
selector: 'page-home',
templateUrl: 'home.html',
providers: [
MyParentClass,
MyChildClass
]
});
export class homePage {
constructor(public parentClass: MyParentClass, public childClass: MyChildClass) {
}
}
您只能注入标记为注射的类。将您的classB标记为可注射的,然后像您一样将其注入构造函数。
为了使用适当的依赖注入,请将访问修饰符更改为私有。然后,您可以在Classa中访问ClassB。
最爱我希望使用模块使用Classa.moduleclassB的模块扩展我的提供商,但我不能,但我不知道如何将模块类对象导入我的控制器页面作为提供商
应该看起来像这样:
提供商/my-Provider/myprovider.ts
import {Injectable} from "@angular/core";
@Injectable()
export class MyParentClass {
//...
}
export module a {
@Injectable()
export class MyChildClass {
//...
}
}
页/home/home.ts
import { Component } from '@angular/core';
import { MyParentClass, MyChildClass } from '../../providers/my-provider'
@Component({
selector: 'page-home',
templateUrl: 'home.html',
providers: [
MyParentClass,
MyChildClass
]
});
export class homePage {
constructor(private parentClass: MyParentClass, private childClass: MyChildClass) {
}
}