Javascript 如何使vue路由器链接连接到vue组件?
我对Vue框架和Javascript都很陌生,但目前正在使用Vue构建一个站点,我希望在我的站点顶部有一些链接,用户可以导航到这些链接。我尝试使用Vue路由器()来创建这些链接。在这一点上,我只想制作一个用户可以浏览的“关于我们”部分。但是,尽管URL相应地更改为“localhost:8080/#/about_-us”,但与链接关联的Vue组件将不会显示 我在main.js中构建了如下代码:Javascript 如何使vue路由器链接连接到vue组件?,javascript,vue.js,vue-router,Javascript,Vue.js,Vue Router,我对Vue框架和Javascript都很陌生,但目前正在使用Vue构建一个站点,我希望在我的站点顶部有一些链接,用户可以导航到这些链接。我尝试使用Vue路由器()来创建这些链接。在这一点上,我只想制作一个用户可以浏览的“关于我们”部分。但是,尽管URL相应地更改为“localhost:8080/#/about_-us”,但与链接关联的Vue组件将不会显示 我在main.js中构建了如下代码: import Vue from 'vue' import VueRouter from 'vue-rou
import Vue from 'vue'
import VueRouter from 'vue-router'
import App from './App.vue'
Vue.config.productionTip = false
export const eventBus = new Vue();
Vue.use(VueRouter);
const AboutUs = {template: '<div>about_us</div>'};
const route = [{path:'/about_us', component: AboutUs}];
const router= new VueRouter({route});
new Vue({
render: h => h(App),
router
}).$mount('#app')
吉卜力歌迷盛会
我认为没有必要导入“aboutus”组件。你可以这样写关于我们的
在main.js中,像这样声明路由
const-route=[{path:'/about_-us',name:'about_-us',component:()=>import(“about-us文件的路径”)}]
我认为没有必要导入“aboutus”组件。你可以这样写关于我们的
在main.js中,像这样声明路由
const-route=[{path:'/about_-us',name:'about_-us',component:()=>import(“about-us文件的路径”)}]
您提供的代码示例有点混乱,您只需将导入的视图直接传递到路由器
条目的组件
属性
您所做的工作:
const AboutUs={template:'about_us'}代码>
将该行替换为:
import-AboutUs from./components/AboutUs.vue'
我无法从您的示例中找出组件:{“关于我们”:AboutUs},
的相关性在何时何地,
它是不需要的
以下是我的设置示例:
router.js
从“Vue”导入Vue
从“vue路由器”导入VueRouter
Vue.use(VueRouter)
常数路由=[
{
路径:“/”,
名称:'索引',
组件:()=>导入(“../components/views/welcome”)
},
{
路径:“/关于我们”,
姓名:'关于我们',
组件:()=>import(“../components/views/about-us”)
}
]
常量路由器=新的VueRouter({
模式:“历史”,
路线
})
导出默认路由器
main.js
从“Vue”导入Vue
从“./App.vue”导入应用程序
从“./路由器”导入路由器
Vue.config.productionTip=false
新Vue({
路由器,
渲染:h=>h(应用程序)
}).$mount(“#应用程序”)
App.vue
src/
+ App.vue
+ main.js
+ router.js
+ vue.config.js
+ assets/
+ logo.png
+ components/
+ views/
+ welcome.vue
+ about-us.vue
欢迎
关于我们
导出默认值{
名称:“应用程序”
}
组件/视图/关于我们。vue
src/
+ App.vue
+ main.js
+ router.js
+ vue.config.js
+ assets/
+ logo.png
+ components/
+ views/
+ welcome.vue
+ about-us.vue
这是关于我们的页面!
导出默认值{
姓名:“关于我们”
}
此示例使用
其他需要注意的事项
src/
+ App.vue
+ main.js
+ router.js
+ vue.config.js
+ assets/
+ logo.png
+ components/
+ views/
+ welcome.vue
+ about-us.vue
路由时,mounted
是不可靠的,相反,在调用任何以下内容时,您应该将任何获取逻辑放入它自己的方法中:
方法:{
获取(){
// https://github.com/axios/axios
axios.get()https://ghibliapi.herokuapp.com/films)。然后(…)
}
}
在beforeRouteUpdate
和beforeRouteEnter
中调用this.fetch
方法,而不是mounted
,当涉及到vue路由器处理的视图时,您甚至不能依赖创建的方法
建议使用而不是本机,因为它提供了更多功能、特性和浏览器兼容性
在关于我们的中,vue添加如下内容:
这是关于我们的页面!
导出默认值{
姓名:“关于我们”
方法:{
获取(){
axios.get()https://ghibliapi.herokuapp.com/films)。然后(…)
}
}
//如果您已经在视图中,但参数发生更改(动态布线),则将触发
路由更新前(到、从、下一个){
this.fetch()
下一个()
},
//将在您进入视图时激发
路由前(到、从、下一个){
this.fetch()
下一个()
},
}
两者都应该添加,要知道它们不会同时触发,只有一个会在相关时执行一次fetch
这将解决您在使用它们时可能遇到的任何问题
文件夹结构
src/
+ App.vue
+ main.js
+ router.js
+ vue.config.js
+ assets/
+ logo.png
+ components/
+ views/
+ welcome.vue
+ about-us.vue
希望这为您清除了设置要求。您提供的代码示例有点混乱,您只需将导入的视图直接传递到路由器的组件属性
您所做的工作:
const AboutUs={template:'about_us'}代码>
将该行替换为:
import-AboutUs from./components/AboutUs.vue'
我无法从您的示例中找出组件:{“关于我们”:AboutUs},
的相关性在何时何地,
它是不需要的
以下是我的设置示例:
router.js
从“Vue”导入Vue
从“vue路由器”导入VueRouter
Vue.use(VueRouter)
常数路由=[
{
路径:“/”,
名称:'索引',
组件:()=>导入(“../components/views/welcome”)
},
{
路径:“/关于我们”,
姓名:'关于我们',
组件:()=>import(“../components/views/about-us”)
}
]
常量路由器=新的VueRouter({
模式:“历史”,
路线
})
导出默认路由器
main.js
从“Vue”导入Vue
从“./App.vue”导入应用程序
从“./路由器”导入路由器
Vue.config.productionTip=false
新Vue({
路由器,
渲染:h=>h(应用程序)
}).$mount(“#应用程序”)
App.vue
src/
+ App.vue
+ main.js
+ router.js
+ vue.config.js
+ assets/
+ logo.png
+ components/
+ views/
+ welcome.vue
+ about-us.vue
欢迎
关于我们
导出默认值{
名称:“应用程序”
}
组件/视图/关于我们。vue
src/
+ App.vue
+ main.js
+ router.js
+ vue.config.js
+ assets/
+ logo.png
+ components/
+ views/
+ welcome.vue
+ about-us.vue
这是关于我们的页面!
导出默认值{
姓名:“关于我们”
}
此示例使用
其他需要注意的事项
src/
+ App.vue
+ main.js
+ router.js
+ vue.config.js
+ assets/
+ logo.png
+ components/
+ views/
+ welcome.vue
+ about-us.vue
布线时,挂载
是不可靠的,而不是不可靠的