Как взаимодействует flask и vue-router?
Независимо от того, используете вы flask или любой другой фреймворк или пишите без оного, spa приложение принято разделять на 2 независимые части: frontend и backend. Первое - это html css и js (vue, vue-router), а второе - сама серверная логика. Данные следует получать при помощи асинхронных(ajax) запросов к backend. То есть, backend, в данном случае выступает как независимый api.
Например, вы хотите написать hello world, получив данные с сервера. Создаете роут с путем /example во vue-router. В flask'е создаете такой же роут и обработчик для него, который будет возвращать данные в формате json. Посылаете ajax-запрос через js (Например, с использованием http-клиента axios, он наиболее популярен), принимаете данные, выводите.
Не очень понял, с какой именно проблемой вы столкнулись. Но наверное вам нужно все же использовать роуты vue-router'а, а не flask'а для навигации по SPA. А роуты flask'а оставить в покое как api endpoints.
Возможно эта страница будет полезна - https://router.vuejs.org/ru/essentials/history-mod...