this.router.back () с параметром в Nativescript - PullRequest
0 голосов
/ 12 января 2019

Использование Nativescript 5.0 + Angular

Невозможно понять, как я могу это сделать?

  1. С первого взгляда (в этом посте он называется оригинальным), пользователь нажимает кнопку

  2. this.router.navigate (["secure / booking / city"]) отображает новый вид с списком

  3. Пользователь нажимает на элемент города, который он хочет выбрать из вида

  4. this.router.back () вызывается onItemTap

  5. Пользователь может видеть исходный экран

Я хочу, чтобы сведения об элементе города (имя и идентификатор) вернулись к исходному виду.

Я пытался использовать ApplicationSettings из второго вида и читать обратно в исходном виде, но не получилось.

Ниже приведен фрагмент кода

 this.router.navigate(["secure/booking/city"]).then((response) => {
                console.log("ret data name : " + ApplicationSettings.getString("cityname"));    
                ApplicationSettings.setString("cityname","");
            }, (e) => {
                console.log("error -ret data name : " + ApplicationSettings.getString("cityname"));   
            });

Ответы [ 2 ]

0 голосов
/ 14 января 2019

Основываясь на ответе Маноя, вот подробное решение.

объявить переменную в TS-файле DataService

public retParam = new BehaviorSubject ('');

В HTML первого вида:

<Label [text]="this._Service.retParam.getValue()" verticalAlignment="center"></Label>

В файле ts первого просмотра открытый конструктор (private _Service: DataService)

В файле TS второго вида внутри обработчика события onItemTap

this._Service.retParam.next ( "Pratik");

Таким образом, при запуске приложения на ярлыке с первого взгляда отображается пустая строка На первом экране есть кнопка.

При нажатии этой кнопки второе представление загружается с представлением списка. onItemTap списка, значение retParam устанавливается и this.router.back (); называется

Это возвращает элемент управления к первому виду, и на ярлыке теперь отображается мое имя вместо пустой строки.

Надеюсь, что это объяснение полезно для начинающих, как я.

0 голосов
/ 14 января 2019

Вы можете просто использовать Сервис с BehaviorSubject, подписаться на него в исходном представлении и обновлять BehaviorSubject по мере необходимости.

...