如何在Ionic2提供商上创建和使用模块类



我希望使用 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) {
    }
}

相关内容

  • 没有找到相关文章

最新更新