Appmaker: обрабатывать несколько копий фрагмента страницы как одну? - PullRequest
0 голосов
/ 10 ноября 2019

В моем приложении есть фрагмент страницы SideMenu. На каждой странице у меня есть копия этого фрагмента страницы.

Я намеревался создать SideMenu с открываемым SubMenus (одновременно можно было открыть только одно подменю), но я не смог его получитьсделано для того, чтобы приложение «запомнило» состояние SideMenu (например, какие SubMenu должны быть открыты, а какие нет), потому что на каждом сайте есть свой виджет, как в моем коде (в моих событиях onClick)Я имею в виду виджет, я работаю не с «глобальным SideMenu», а с его конкретной копией, уникальной для этой страницы.

К сожалению, потребовалось несколько часов на отладку, чтобы понять, что я потерпел поражение.

В любом случае можно ли разместить фрагмент страницы на странице, чтобы я мог обрабатывать этот виджет самостоятельно, а не только его копии?

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

1 Ответ

0 голосов
/ 11 ноября 2019

Я согласен с @MarkusMalessa. Вам нужно активировать виджет на каждой странице, а затем применить любые изменения к нему. Я делаю то же самое в проекте, в котором я намерен уменьшить и расширить SideMenu. Чтобы дать вам представление, я всегда нажимаю кнопку в боковом меню, отвечающую за логику, это код, который вызывается:

var pages = app.pages._values;
pages.forEach(function(page){
  var sideMenu = page.descendants.sideMenu1;
  if(sideMenu){
    if(widget.text === "chevron_right"){
      sideMenu.getElement().style.width = "300px";
    } else {
      sideMenu.getElement().style.width = "60px";
    }
  }
});

Таким образом, каждый виджет sideMenu внутри каждой страницы, на котором он есть, получает одинаковыйменяется.

...