Я хочу иметь верхний раздел для авторизованных пользователей, которые вошли в систему, статус и аватар профиля, но мне нужно все, что находится ниже этих различных компонентов. Как я могу перейти к другим компонентам, сохранив согласованный раздел верхней панели? Должен ли я включать верхний штрих-код на каждый компонент?
NativeScript Vue - лучший способ переходить к другим компонентам, сохраняя при этом верхний раздел, содержащий информацию о профиле?
Ответы (1)
Frame - это элемент пользовательского интерфейса, отвечающий за управление навигацией. Кадр может отображать одну страницу за раз, которая может иметь ActionBar.
Если вы не намерены просто дублировать код ActionBar на каждой странице, напишите компонент Vue, который будет содержать только ваш ActionBar, который можно импортировать в любой другой компонент.
Вы также можете использовать вложенные фреймы, пусть внешний фрейм будет удерживать ActionBar согласованно при навигации по внутреннему фрейму.
person
Manoj
schedule
15.07.2019
Спасибо. Как лучше всего в этой ситуации создавать приложения? Из упомянутых вами вариантов, будет ли это просто выделенный компонент Vue для верхнего ActionBar, который я могу импортировать на каждой странице, или он будет использовать вложенные фреймы? Меня беспокоит то, что даже если в поле
navigateTo
animate
установлено значение false
, компонент ActionBar должен будет снова выполнить рендеринг и ненадолго мигнуть, чего я пытаюсь избежать. Однако я не хочу слишком усложнять ситуацию. Если это лучшая практика, я с радостью сделаю это, но если есть вложенные фреймы, я бы не прочь исследовать этот подход.
- person perrymjj; 15.07.2019
Не существует универсального решения для всех требований, каждое приложение / требование в некотором роде уникально. Если вы спросите меня, я бы просто использовал компонент Vue и импортировал его на каждую страницу. Но, конечно, вы можете увидеть небольшую вспышку во время навигации (отображается новая панель действий для новой страницы). Если вы хотите избежать этого, вы должны использовать вложенные фреймы.
- person Manoj; 15.07.2019
отлично, спасибо за вашу помощь
- person perrymjj; 15.07.2019
new Vue({render: h => h('frame', [h(router['app'])])}).$start()
, а затем вся логика находится в App.vue. - person perrymjj   schedule 15.07.2019