как получить доступ к значениям из одной функции в другую - PullRequest
0 голосов
/ 01 апреля 2020

У меня есть функция "function1", которая находится в "testComponent", у меня есть другая функция "function2" в "test2component", в function2 у меня есть переменная "a = 10", я хочу получить доступ к этому значению "a" в «function1», как я могу это сделать.

мой код:

       test2Component
          a
          function2(post_data){
           this.service.postUser(post_data).subscribe(respone=>{
           return this.a = '10'
           });
          }

       testComponent:

       constructor(public usrcpmt : test2Component){
       console.log( this.usrcpmt.a);
       }

Я пробовал таким образом, значение «a» печатает Undefined

Ответы [ 2 ]

0 голосов
/ 01 апреля 2020

Я бы порекомендовал вам использовать сервисы для этого

Сервисы - одноэлементные классы

Как

export class MyService {
      value;
      constructor() {}

      getValue() {
          return this.value;
      }

      setValue(val) {
           this.value = val;
      }
}

Теперь импортируйте этот сервис в оба ваших компонента

  export class test2Component {
        function2() {
           const a = 10;
           this.myService.setValue(a);
        }
  }

  export class test1Component {
       function1() {
           const valFromService = this.myService.getValue();
        }
  }
0 голосов
/ 01 апреля 2020

Если тестовый компонент 1 и тестовый компонент 2 являются родительским дочерним компонентом: -

  1. Тестовый компонент 2 является родительским компонентом: - передать a в качестве входных данных для тестового компонента 1, используя @Input ( ).

  2. Тестовый компонент 2 является дочерним компонентом: - Передать как выходной сигнал для тестового компонента 1 с помощью @Output ();

Если они не являются связанными компонентами: -

  1. Хранить данные в службе и получать их в тестовом компоненте 1, используя субъект / поведение. Тема.
  2. использовать управление состоянием, например, ngrx.
  3. использовать localStorage, sessionStorage
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...