我正在重构我的Angular2 / Ionic2代码,想知道我的情况的最佳做法是什么。
我在我的组件中定义了一个变量(this.questions),需要在我的服务方法中使用它。我可以通过两种方式找到解决此问题的方法。
我使用全局变量服务,在那里分配this.questions然后访问foo.service中的变量
或者只是将my.questions组件变量作为参数传递给我的方法。
从理论上讲,两种方式都应该有效,但普遍的共识是什么?
下面的第2个示例代码: 我有一个组件
@Component({
selector: 'text-answers',
templateUrl: 'text-answers.component.html'
})
export class TextAnswersComponent implements OnInit {
questions: Object;
constructor(public fs: FooService) {
this.questions = {1:"foo", 2:"Bar"};
this.fs.doPrint(this.questions)
}
在我的foo.service.ts中:
doPrint(foo){
console.log(foo)
};
答案 0 :(得分:1)
更好的方法是,
在 服务 中声明问题对象。 我在这里假设你也想在其他组件中使用问题对象。
<强> service.ts 强>
questions:Object;
doPrint(){
console.log(this.questions)
};
<强> AppComponent.ts 强>
export class TextAnswersComponent implements OnInit {
constructor(public fs: FooService) {
fs.questions = {1:"foo", 2:"Bar"};
this.fs.doPrint();
}