zoukankan      html  css  js  c++  java
  • 结合webpack实现children子路由,抽离路由模块

      demo结构

      

      package.json、webpack.config.js、index.html与上一篇博客相同。

      main.js

    // 这是项目的入口js文件
    // import $ from 'jquery';
    import './css/common.css';
    
    // 注意:在webpack中,使用下面这句导入vue,功能不完整,只提供runtime-only的方式,并没没有提供向网页中那样的使用方式
    // import Vue from 'vue';
    // 导入完整的vue
    import Vue from '../node_modules/vue/dist/vue.js';
    import VueRouter from 'vue-router';
    Vue.use(VueRouter);
    
    // 导入App组件
    import App from './App.vue';
    // 默认webpack无法处理.vue文件,第一步安装第三方loader: npm i vue-loader vue-template-compiler -D
    // 第二步:webpack.config.js配置 { test: /.vue$/, use: 'vue-loader' }
    
    import router from './router.js';
    
    var vm = new Vue({
        el: '#app',
        // render:将App组件渲染到el指定的div#app中(div#app中其他内容被覆盖)
        render: c => c(App),
        router
    });

      router.js

    import VueRouter from 'vue-router';
    
    import account from './components/account.vue';
    import goodslist from './components/goodslist.vue';
    import login from './components/account/login.vue';
    import register from './components/account/register.vue';
    
    var router = new VueRouter({
        routes: [
            {path: '/account', component: account, children: [
                {path : 'login', component: login},
                {path : 'register', component: register}
            ]},
            {path: '/goodslist', component: goodslist}
        ]
    });
    
    export default router;

      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>

      account.vue

    <template>
    <div>
        <h1>account组件</h1>
    
        <router-link to="/account/login">Login</router-link>
        <router-link to="/account/register">Register</router-link>
    
        <router-view></router-view>
    </div>
    </template>
    
    <script></script>
    <style></style>
  • 相关阅读:
    6位密码框js
    总结 清除浮动的四种常见方法
    JS中关于clientWidth offsetWidth scrollWidth 的区别及意义
    字符超过长度将以省略号显示
    如何改变在浏览器上选中字体的颜色
    dev gridcontrol把event事件转换成命令
    gridcontrol datatemplate trigger
    oracle数据库一些用户管理语句
    dev gridcontrol 绑定int型及日期型的列默认当值为0时显示空白及格式化日期显示方式
    c#计算datatable中某一列值的和
  • 原文地址:https://www.cnblogs.com/xy-ouyang/p/11254829.html
Copyright © 2011-2022 走看看