webpack+vue路由
2024-10-18 06:43:33
只写路由部分的相关内容
需引入路由包
import Vue from 'vue'
// 1. 导入 vue-router 包
import VueRouter from 'vue-router'
// 2. 手动安装 VueRouter
Vue.use(VueRouter)
// 导入 app 组件
import app from './App.vue'
// 导入 Account 组件
import account from './main/Account.vue'
import goodslist from './main/GoodsList.vue'
// 3. 创建路由对象
var router = new VueRouter({
routes: [
// account goodslist
{ path: '/account', component: account },
{ path: '/goodslist', component: goodslist }
]
})
var vm = new Vue({
el: '#app',
render: c => c(app), // render 会把 el 指定的容器中,所有的内容都清空覆盖,所以 不要 把 路由的 router-view 和 router-link 直接写到 el 所控制的元素中
router // 4. 将路由对象挂载到 vm 上
})
// 注意: App 这个组件,是通过 VM 实例的 render 函数,渲染出来的, render 函数如果要渲染 组件, 渲染出来的组件,只能放到 el: '#app' 所指定的 元素中;
// Account 和 GoodsList 组件, 是通过 路由匹配监听到的,所以, 这两个组件,只能展示到 属于 路由的 <router-view></router-view> 中去;
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>
以下两个在一个main文件夹里
1.veu
<template>
<div>
<h1>这是 Account 组件</h1>
</div>
</template>
<script>
</script>
<style>
</style>
2.vue
<template>
<div>
<h1>这是 GoodsList 组件</h1>
</div>
</template>
<script>
</script>
<style>
</style>
路由嵌套
加了个children而已
对路由进行分离
main.js
import Vue from 'vue'
// 1. 导入 vue-router 包
import VueRouter from 'vue-router'
// 2. 手动安装 VueRouter
Vue.use(VueRouter)
// 导入 app 组件
import app from './App.vue'
// 导入 自定义路由模块
import router from './router.js'
var vm = new Vue({
el: '#app',
render: c => c(app), // render 会把 el 指定的容器中,所有的内容都清空覆盖,所以 不要 把 路由的 router-view 和 router-link 直接写到 el 所控制的元素中
router // 4. 将路由对象挂载到 vm 上
})
// 注意: App 这个组件,是通过 VM 实例的 render 函数,渲染出来的, render 函数如果要渲染 组件, 渲染出来的组件,只能放到 el: '#app' 所指定的 元素中;
// Account 和 GoodsList 组件, 是通过 路由匹配监听到的,所以, 这两个组件,只能展示到 属于 路由的 <router-view></router-view> 中去;
router.js
import VueRouter from 'vue-router'
// 导入 Account 组件
import account from './main/Account.vue'
import goodslist from './main/GoodsList.vue'
// 导入Account的两个子组件
import login from './subcom/login.vue'
import register from './subcom/register.vue'
// 3. 创建路由对象
var router = new VueRouter({
routes: [
// account goodslist
{
path: '/account',
component: account,
children: [
{ path: 'login', component: login },
{ path: 'register', component: register }
]
},
{ path: '/goodslist', component: goodslist }
]
})
// 把路由对象暴露出去
export default router
最新文章
- centos6.5 mysql-server 5.1.73启动失败
- 动画的使用&mdash;Drawable Animation
- PAT (Advanced Level) Practise:1008. Elevator
- 虚拟机评估——如何确定一个CPU核上部署的虚拟机数量?
- Discuz!开发手册
- SVN中的Branches分支以及Merge 应用举例
- SQL Server Configuration Manager出错
- Getting Started Synchronizing Files
- kali获得已经安装的软件列表
- Delphi 编写的Web Service
- ios策略模式应用
- Laravel-表单篇-controller
- web项目中获取各种路径的方法
- Hdu 4539 【状态DP】.cpp
- C#代码将html样式文件转为Word文档
- Java基于opencv—矫正图像
- 关于python,完善我计算机知识的一步。
- Opencv改变图像亮度和对比度以及优化
- ViewResolver和JSTL
- D3.js(v3)+react框架 基础部分之数据绑定及其工作过程与绑定顺序
热门文章
- C++如何使用宏定义来简化代码性能测试 | cpp macro like function to implement a performance profiler
- Selenium(十九):unittest单元测试框架(五) Page Object设计模式
- WinForms项目升级.Net Core 3.0之后,没有WinForm设计器?
- 面试再问ThreadLocal,别说你不会
- Linux安装docker-compose
- JS MD5 返回二进制格式
- 使用npm link 加速调试
- [转]How to enable macros in Excel 2016, 2013, and 2010
- 基于 Storyboard 多种方式的页面跳转、参数传递
- UITableView HeaderView,FooterView 使用SnapKit布局导致约束异常