Одним из решений будет размещение баннера на странице vue с последующим списком объявлений, а затем создание другой страницы vue без баннера для рекламы (страницы обрабатываются vue-router)
Другой подход будетесли рекламные ссылки идут на маршрут, который обрабатывается laravel, то laravel предоставляет шаблон блэйда без баннера и со встроенным приложением vue, которое просто показывает релевантное объявление.
Vue также поддерживает вложенные представления, так что есливам нужно несколько страниц с баннером вверху, вложенным представлением под баннером на одном типе страницы, а затем на другом типе страницы только с рекламой.
Надеюсь, что это даст вам некоторые идеи, которые помогут решить задачу.
В дополнение к этому: если вы строите функциональность размещения рекламы как тесно связанную часть целого веб-сайта, то вам может потребоваться навигационная панель для сайта, созданная Vue, а не ее в Blade.т.е. другой компонент Vue для панели навигации.
С другой стороны, если вы пытаетесь создать повторно используемый пакет Laravel для размещения рекламы на любом веб-сайте Laravel, то вам нужно будет оставить панель навигации вне своих шаблонов Vue и в своем объявлении.модуль использует v-if / v-else вместо Vue-router, потому что вы не хотите, чтобы ваш код боролся с сайтом Laravel за контроль маршрутов.
например
<template>
<div v-if="selectedAd">
//display selected ad
</div>
<div v-else>
//banner here
<div v-for="(ad, index) in ads" :key="index">
<a href='#' @click.prevent="selectedAd = ad">{{ ad.title }}</a>
</div>
</div>
</template>
<script>
export default {
data() {
return {
ads: [],
selectedAd: null,
}
}
}
</script>