角度特征模块动态传递数据

时间:2018-09-01 01:33:51

标签: angular

我试图弄清楚特征模块如何以角度工作。

我将ComponentA和ServiceA包装到功能模块ModuleA中。 ComponentA中需要ServiceA。 代码如下:

 a1.translatesAutoresizingMaskIntoConstraints = false
    let leadingc2 = a1.widthAnchor.constraint(equalToConstant: 75)
    let trailingC2 = a1.heightAnchor.constraint(equalToConstant: 50)
    let topc2 = a1.centerXAnchor.constraint(equalTo: self.view.centerXAnchor, constant: -60)
    let bottomc2 = a1.centerYAnchor.constraint(equalTo: self.view.centerYAnchor, constant: -275)

    a1t = [leadingc2,trailingC2,topc2,bottomc2]

    NSLayoutConstraint.activate(a1t)

    //

    a2.translatesAutoresizingMaskIntoConstraints = false
    let leadingc22 = a2.widthAnchor.constraint(equalToConstant: 75)
    let trailingC22 = a2.heightAnchor.constraint(equalToConstant: 50)
    let topc22 = a2.centerXAnchor.constraint(equalTo: self.view.centerXAnchor, constant: 60)
    let bottomc22 = a2.centerYAnchor.constraint(equalTo: self.view.centerYAnchor, constant: -275)

    a2t = [leadingc22,trailingC22,topc22,bottomc22]

    NSLayoutConstraint.activate(a2t)

import { ServiceA } from '...
import { ComponentA } from '...

@NgModule({
    imports: [
        CommonModule
    ],
    declarations: [ComponentA],
    providers: [ServiceA]
})
export class ModuleA { }

@Component({
    selector: 'component-a'
})
export class ComponentA {
    constructor(
        private serviceA: SerivceA
    ) { }

我的问题是ServiceA需要随SomeData提供。此SomeData在应用程序的不同位置动态更改,并通过一些http调用获得;

如何在动态提供SomeData的情况下使用此功能模块?这是编写功能模块的正确方法吗?

1 个答案:

答案 0 :(得分:3)

创建另一个服务,例如SomeDataService,用于保存您的SomeData。 在应用程序的根模块中提供此服务,然后将其注入到其他模块中所需的任何组件中,而不是直接注入数据。