Почему Vue Маршрутизатор не загружается, пока я не нажму на ссылку, а потом не перезагрузит всю веб-страницу - PullRequest
0 голосов
/ 03 августа 2020

У меня есть компоненты. js полный Vue .component экземпляров.

Затем я получил основной. js, где у меня есть маршрутизатор, и я использую компоненты для создания разные страницы.

По индексу. html У меня есть ссылки на страницы маршрутизатора.

Проблема в том, что при загрузке первой страницы не загружается шаблон. Если я нажму на ссылку «Домой», ничего не произойдет. Но если я нажимаю «О программе» или «Проект», страница полностью перезагружается. (Получил iframe с подсказкой, и он снова отображается.) Затем, после нажатия «О программе» или «Проект», все работает так, как должно.

*

Я попытался открыть example.com/#/ вручную на новой вкладке, но это то же самое.

main. js это как:

const About = { template: '<div>About</div>' }                        
const Home = { template: `                                            
<web-header></web-header>                                             
` }
const Project = { template: '<div>Project</div>' }

                        
const routes = [                                                        
{ path: '/', component: Home },                                       
{ path: '/about', component: About },                                 
{ path: '/projects', component: Project }
]                                                                                                                  

const router = new VueRouter({                                       
routes: routes                                                    
})
                                                                                                                           
const app = new Vue({
  router
}).$mount("#app");

1 Ответ

0 голосов
/ 05 августа 2020

Я наконец нашел root проблемы. Компоненты, которые не были загружены перед их использованием.

Решение: Добавьте файлы компонентов ПЕРЕД их использованием.

Оценка: Я привык добавлять все свои скрипты перед закрывающим тегом тела.

В этом случае вам необходимо добавить файлы глобальных экземпляров компонента перед закрывающим тегом заголовка. (Потому что html kebab sintax не работает нормально, если вы ранее не загружали экземпляры компонентов)

Теперь он работает нормально. Здесь у вас есть фиксация для просмотра внесенных мной изменений. (Просто переместите теги)

https://github.com/StringManolo/StringManolo.github.io/commit/fcc331dc5136fb8a0da5a4c979ab67c8b85365e7

...