Конфликт роутов yii2 и Vue.js
хочу подружить Vue.js и Yii2. Написал апи на вью, но как дошло дело до фронтенда столкнулся с проблемой: при переходе на роут из вью, улетает запрос на сервер. Как я понял такого быть не должно. Судя по всему проблема в конфигурации юишки. Причем такая трабла только если HistoryMode выключен, но меня не устраивает # в урле, поэтому (как я понял) он должен быть обязательно включен. Так вот, вопрос: как можно добиться, чтобы яичница единожды отправляла индексную страницу, а дальше все роуты обрабатывались вью жсом?
вот код роутов vue.js:
const Bar = { template: "<div>bar</div>" }
const routes = [
{ path: '/foo', component: Foo },
{ path: '/bar', component: Bar },
]
const router = new VueRouter({
routes,
mode: 'history',
})
const app = new Vue({
router
}).$mount('#app')
настройки yii:
'urlManager' => [
'enablePrettyUrl' => true,
'showScriptName' => false,
'rules' => [
['class' => 'yii\rest\UrlRule', 'controller' => 'projects'],
'<controller:(\w|-)+>/' => 'site/index',
],
],
P.S. использую базовый шаблон
Ответы (2 шт):
Разобрался сам. Суть в том, что я вводил адрес напрямую в строку браузера, соответственно вью не обрабатывала запрос и происходил редирект. Для обработки ссылок через Vue необходимо использовать
<router-link to="/bar">bar</router-link>