下面是我代码的一部分:
@Component({
selector: '...',
templateUrl: " "
})
export class QuoteComponent {
address: boolean[] = [false, false];
constructor() { }
...
}
import { QuoteComponent } from "...";
@Component({
selector: '...',
templateUrl: "...",
})
export class Addresses1Component {
constructor(private quote: QuoteComponent) { }
}
import { QuoteComponent } from "...";
@Component({
selector: '...',
templateUrl: "...",
})
export class Addresses2Component {
constructor(private quote: QuoteComponent) { }
} 使用上面的代码和而不定义提供者 anywhere,QuoteComponent是一个单例,Addresses1Component, Addresses2Component可以访问它。我希望表现得像服务一样,而不是单例,因为我没有在providers数组的某个地方定义它。有什么好的解释吗?
发布于 2017-12-19 10:59:01
预计组件不会被注入。使用反应性表单API创建包含表单模板的共享组件。
如果您的QuoteComponent创建了一个应该在其他组件中可用的表单(使用表单数据),则创建一个具有模拟表单模型属性的类型的变量myFormData的服务。另外,在这个服务中创建setter和getter:set formData()和get formData()。应该将此服务注入QuoteComponent、Addresses1Component和Addresses2Component。
创建表单时,调用服务上的setter。在adress组件中,调用getter并使用setValue方法填充来自服务的数据,例如:
this.myFormModel.setValue(myService.formData);https://stackoverflow.com/questions/47869399
复制相似问题