Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使vue路由器链接连接到vue组件?_Javascript_Vue.js_Vue Router - Fatal编程技术网

Javascript 如何使vue路由器链接连接到vue组件?

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

我对Vue框架和Javascript都很陌生,但目前正在使用Vue构建一个站点,我希望在我的站点顶部有一些链接,用户可以导航到这些链接。我尝试使用Vue路由器()来创建这些链接。在这一点上,我只想制作一个用户可以浏览的“关于我们”部分。但是,尽管URL相应地更改为“localhost:8080/#/about_-us”,但与链接关联的Vue组件将不会显示

我在main.js中构建了如下代码:

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
    
    布线时,
    挂载
    是不可靠的,而不是不可靠的