NativeScript Vue - лучший способ переходить к другим компонентам, сохраняя при этом верхний раздел, содержащий информацию о профиле?

Я хочу иметь верхний раздел для авторизованных пользователей, которые вошли в систему, статус и аватар профиля, но мне нужно все, что находится ниже этих различных компонентов. Как я могу перейти к другим компонентам, сохранив согласованный раздел верхней панели? Должен ли я включать верхний штрих-код на каждый компонент?


person perrymjj    schedule 15.07.2019    source источник
comment
Вы можете настроить панель действий   -  person Narendra    schedule 15.07.2019
comment
но это все равно будет создавать впечатление повторной отрисовки каждый раз, когда страница переходит к новому компоненту в стеке. Я хочу, чтобы он выглядел так, как будто верх - статичный элемент, и все, что находится под ним, меняется при изменении компонентов.   -  person perrymjj    schedule 15.07.2019
comment
Это зависит от того, как вы управляете своими маршрутами. В корневом компоненте вы можете зафиксировать верхнюю часть, а в нижней части вы можете перемещать компоненты, используя маршруты.   -  person Narendra    schedule 15.07.2019
comment
Спасибо. Есть ли документация, как это сделать? В моем корне у меня просто: new Vue({render: h => h('frame', [h(router['app'])])}).$start(), а затем вся логика находится в App.vue.   -  person perrymjj    schedule 15.07.2019
comment
Я мало знаю о vue, но может быть что-то вроде этого github.com/nativescript-vue/nativescript-vue-router/blob/.   -  person Narendra    schedule 15.07.2019


Ответы (1)


Frame - это элемент пользовательского интерфейса, отвечающий за управление навигацией. Кадр может отображать одну страницу за раз, которая может иметь ActionBar.

Если вы не намерены просто дублировать код ActionBar на каждой странице, напишите компонент Vue, который будет содержать только ваш ActionBar, который можно импортировать в любой другой компонент.

Вы также можете использовать вложенные фреймы, пусть внешний фрейм будет удерживать ActionBar согласованно при навигации по внутреннему фрейму.

person Manoj    schedule 15.07.2019
comment
Спасибо. Как лучше всего в этой ситуации создавать приложения? Из упомянутых вами вариантов, будет ли это просто выделенный компонент Vue для верхнего ActionBar, который я могу импортировать на каждой странице, или он будет использовать вложенные фреймы? Меня беспокоит то, что даже если в поле navigateTo animate установлено значение false, компонент ActionBar должен будет снова выполнить рендеринг и ненадолго мигнуть, чего я пытаюсь избежать. Однако я не хочу слишком усложнять ситуацию. Если это лучшая практика, я с радостью сделаю это, но если есть вложенные фреймы, я бы не прочь исследовать этот подход. - person perrymjj; 15.07.2019
comment
Не существует универсального решения для всех требований, каждое приложение / требование в некотором роде уникально. Если вы спросите меня, я бы просто использовал компонент Vue и импортировал его на каждую страницу. Но, конечно, вы можете увидеть небольшую вспышку во время навигации (отображается новая панель действий для новой страницы). Если вы хотите избежать этого, вы должны использовать вложенные фреймы. - person Manoj; 15.07.2019
comment
отлично, спасибо за вашу помощь - person perrymjj; 15.07.2019