Проблема при использовании того же представления в tabview вместе с наблюдаемым - PullRequest
0 голосов
/ 17 ноября 2018

Хорошо, у меня есть вкладка с несколькими страницами, первая и вторая страницы извлекают данные из Интернета и отображают их в виде таблицы.Поскольку пользовательский интерфейс на обеих страницах одинаков, я подумал только об использовании одного файла .xml с соответствующим файлом .js /.ts.и использование фреймов во вкладке для отображения той же страницы с некоторыми условиями в компоненте фрейма, например

<Frame id="firstFrame" defaultPage="home/home-page" isPage='1' />

, а затем на моей соответствующей странице .js используйте что-то вроде

function pageLoaded(args) {
page = args.object;
condition = page.frame.isPage
viewModel = new Observable();
viewModel.set("items", '');
page.bindingContext = viewModel;};

где я сохраняю «условие» в глобальной области видимости.и использовать его везде, где требуется условный рендеринг.Я также храню viewmodel в глобальной области видимости.

ЭТО РАБОТАЕТ ИЗБИРАТЕЛЬНО ... вроде ... вы видите, 2 страницы предназначены для отображения разных данных.но по причине купола, первая страница отображает пустую страницу [без данных], а вторая wone работает нормально ..

Более странно, когда я вызываю функцию для обновления данных на 1-й странице, онаобновляет его на странице 2, и первая страница остается пустой, если я перезагружаю приложение и вызываю ту же функцию на странице 2 (помните, что это одна и та же страница), иногда обновляется первая страница.

Можетможет быть, обе страницы используют один и тот же Observable (элементы)?Если это так, как я должен связать Observable с их соответствующими страницами?

О, я должен также упомянуть, что я использую "exports.functioname = functionname" для вызова функции.Может быть, это может быть?я вижу, что подходящий способ сделать это - связать его внутри файла "page-view-model".Может ли это быть так?

1 Ответ

0 голосов
/ 17 ноября 2018

Глядя на ваш код, все, с чем вы сталкиваетесь, вполне ожидаемо. Переменная с именем condition не относится к экземпляру страницы, поэтому она просто сохраняет последнее назначенное ему значение.

При загрузке страницы 2 переменная condition перезаписывается новым значением и никогда не обновляется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...