Как отобразить данные из функции в компонентном nativescript? - PullRequest
0 голосов
/ 31 января 2020

Как отобразить данные из функции в компоненте? Моя функция:

getStrings() {
    let myString:any;
      http.getString("https://projectzenith.pl/testy/send.php").then((r:string) => {
         myString.set("getStringResult" ,r );
      },(e) =>{});
      return myString;
  }

Я хотел бы отобразить myString примерно так:

<StackLayout>
<Label text="My new string">
</Label>
<TextView text=["myString"]></TextView>
</StackLayout> 

Но я вижу ошибку: Идентификатор "myString" не определен.

1 Ответ

1 голос
/ 31 января 2020

Ваша getStrings функция вызывает асинхронную c функцию, но сразу же возвращается, не гарантируя, что результат был сохранен в myString первым. Ваш шаблон ссылается на локальную переменную функции вместо локальной переменной экземпляра (или самой функции). Существует несколько способов решения этих проблем. Следующее предлагает наименьшее влияние на ваш источник, но дает значительную вероятность ошибок синхронизации.

  public myString: string;

  constructor() {
    this.getStrings();
  }

  getStrings() {
    http.getString("https://projectzenith.pl/testy/send.php").then((r: string) => this.myString = r);
  }
<Label [text]="myString"></Label>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...