zoukankan      html  css  js  c++  java
  • 《webpack》之从入门到放弃 -- 学习笔记【四】结合webpack使用vueRouter

    一、结合webpack使用vueRouter

    1、创建App.vue组件

    <template>
        <div>
            <h1>这是App组件模板页面</h1>
        </div>
    </template>
    <script>
    </script>
    
    <style>
    </style>

    2、main.js中导入vue模块,并引入App组件

    import Vue from 'vue'
     import app from './App.vue'

    3、创建vue实例,并使用render 函数将App组件挂载到index.html 中被vue实例控制得div上

    index.html中:

    <body>
        <div id="app"> </div>
    </body>

    main.js中创建vue实例:

    var vm = new Vue({
        el:'#app',
        render :function(createElements){
            return createElements(app);
        }
    })

    4、npm run dev运行项目可以成功显示APP组件的内容。

    5、src目录下新建main文件夹,分别创建 GoodsList.vue 和 Account.vue.

     GoodsList.vue:

    <template>
        <div>
            <h1>这是Goodlists组件模板页面</h1>
        </div>
    </template>
    <script>
    </script>
    <style>
    </style>

     Account.vue.:

    <template>
        <div>
            <h1>这是Account组件模板页面</h1>
        </div>
    </template>
    <script>
    </script>
    <style>
    </style>

     6、开始使用vue路由 vue-router。按照vue官网示范,结合webpack开始使用vue-router:

      ①:在终端中 npm i vue-router -s 导入vue-router

      ②:  如果在一个模块化工程中使用它,必须要通过 Vue.use() 明确地安装路由功能 :

    import Vue from 'vue'
    import VueRouter from 'vue-router'
    
    Vue.use(VueRouter)

    7、在main.js中引入  GoodsList.vue: 和  Account.vue.:。并创建路由对象控制这两个组件(注意:路由规则中是routes,不要错写成routers),并且将路由对象router挂在在vue实例中,最终完整main.js如下:

    import Vue from 'vue'
    
    import VueRouter from 'vue-router'
    
    Vue.use(VueRouter)
    
    import app from './App.vue'
    
    import account from './main/Account.vue'
    import goodsList from './main/GoodsList.vue'
    
    var router = new VueRouter({
        routes:[
            {path:"/account",component:account},
            {path:"/goodsList",component:goodsList}
        ]
    })
    var vm = new Vue({
        el:'#app',
        render :function(createElements){
            return createElements(app);
        },
        // component:[
        //     app
        // ],
        router
    })

     8、最后在App.vue中写入路由链接入口

    <template>
        <div>
            <h1>这是App组件模板页面</h1>
    
            <router-link to="/account">Account</router-link>
            <router-link to="/goodsList">GoodsList</router-link>
            <router-view></router-view>
        </div>
    </template>
    <script>
    </script>
    <style>
    </style>

     9、npm run dev运行项目成功:

    二、结合webpack实现子路由嵌套

    1、在src目录下新建子组件文件夹subcom,分别创建 Login.vue 和 Register.vue.

     Login.vue:

    <template>
        <div>
            <h1>这是Account组件的 登陆子组件页面</h1>
        </div>
    </template>
    <script>
    </script>
    <style>
    </style>

    Register.vue.:

    <template>
        <div>
            <h1>这是Account组件的 注册子组件页面</h1>
        </div>
    </template>
    <script>
    </script>
    <style>
    </style>

    2、在main.js中导入 登陆子组件和 注册子组件。并在 路由规则中加入子组件路由规则:

    //导入登陆子组件和 注册子组件
    import login from './subcom/Login.vue'
    import register from './subcom/Register.vue'
    var router = new VueRouter({
        routes:[
            {
                path:"/account",
                component:account,
                children:[
                    {path:'login',component:login},
                    {path:'register',component:register}
                ]
            },
            {path:"/goodsList",component:goodsList}
        ]
    })

    3、最后在Account.vue中写子组件路由链接入口

    <template>
        <div>
            <h1>这是Account组件模板页面</h1>
    
            <router-link to="/account/login">登陆></router-link>
            <router-link to="/account/register">注册></router-link>
            <router-view ></router-view>
        </div>
    </template>
    <script>
    </script>
    <style>
    </style>

    4、npm run dev运行项目成功:

  • 相关阅读:
    woocommerce调用产品相册gallery图片如何操作?wordpress技巧
    phpcms切换到php7.2后无法修改文章提示Uncaught Error: [] operator not supported for strings
    yandexbot ip列表整理做俄罗斯市场的站长可以关注一下
    phpcms网站迁移无法更新内容提示Table 'led_com.lz_' doesn't exist的解决方法
    phpcms邮箱smtp配置163企业邮测试可用
    phpcms添加https后台分页错误的解决方法
    linux防止恶意采集攻防战
    ThinkPHP获取当前页URL添加canonical
    如何让ThinkPHP支持模糊搜索
    火车头内容发布规则为保存本地文件时的注意事项
  • 原文地址:https://www.cnblogs.com/ljjdyz/p/14637548.html
Copyright © 2011-2022 走看看