如何从另一个组件访问角度服务变量中存储的值

时间:2019-07-12 19:13:30

标签: typescript angular6 angular-routing angular-services

我想使用服务从一个组件到另一个组件共享问题详细信息以及选项数组。我该如何存储价值并从服务中获取价值

我的问题-服务课程---

private static  ques_optn : Array<QnA>;
constructor() { }

public setQuestion(qna :Array<QnA>) : void
{
 qna.forEach(element => { QuestionService.ques_optn.push(element)});

}

public getQuestion() : Array<QnA>
{
return QuestionService.ques_optn;

}

我的 login.ts 类将值设置为变量---

 {
      ques_ans: Array<QnA> = [];
      this.ques_ans;      (conatins the value)
      this.questservice.setQuestion(this.ques_ans);
    }
    my question.ts class for retrieving  the value ---

    this.ques = <QnA[]>this.questservice.getQuestion();

我想在question.ts类的“ this.ques”变量中获取值

1 个答案:

答案 0 :(得分:0)

从这个问题来看,您似乎打算将服务用作数据存储库...但是您不能在服务中存储价值;

如果组件使用服务,则会将其注入(并实例化)到其中,因此该组件中包含的任何数据都为空白。它不会维护您打算在不同组件中集中使用的数据。