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运行项目成功:

  • 相关阅读:
    黄聪:Wordpress写文章自动过滤HTML标签解决方法
    黄聪:C#中调用python脚本语言
    黄聪:DIV+CSS建站经验总结,不同版本IE下CSS布局bug问题(IE5、IE6、IE7、IE8、火狐Firefox兼容)
    黄聪:Python下安装Mysqldb出现DeprecationWarning: the sets module is deprecated from sets错误解决方案
    黄聪:Wordpress数据库中各个表的用途描述
    黄聪:Python实现Discuz论坛的自动POST登录发贴回帖(转)
    黄聪:python访问抓取网页常用命令(保存图片到本地、模拟POST、GET、中文编码问题)
    黄聪:jquery对ajax的error内的XMLHttpRequest返回的exception获取里面的信息
    黄聪:XML操作中常用的XPath表达式
    黄聪:Python初始化系统变量设置
  • 原文地址:https://www.cnblogs.com/ljjdyz/p/14637548.html
Copyright © 2011-2022 走看看