为什么组件的data必须是一个函数
* 原因:将来多个组件打包后 会合并到一起 一旦组件之间有data数据重名就可能出现覆盖的情况 导致打包之后数据混乱
* 所以组件的data是一个函数 就形成了一个闭包 数据就变成了局部变量 就算都打包合并到一起 不同的
* 组件就是不同的局部变量 数据重名也互相不影响
手动配置Router
vue-Router v3.x是针对vue2项目 v4.x是针对vue3项目的
要想配置路由 必须先下载路由模块(正常是下载好的 我们在自己搭建项目的时候选择vue-Router的情况下就是下载好的)
npm i vue-router@版本号 --save(3.5.4)
--save 是把当前下载的模块登记到package.json的依赖里面(要不然的话别人拿到之后下载依赖没有vueRtouer就报错)
-g 表示全局安装到计算机c盘
下载模块的时候如果是vue2项目记得要加版本号 不然就是安装最新版 是适配vue3项目的
vue-router搭建步骤(v3.x)
1 下载vue-router模块 npm i vue-router@3.5.4 --save
2 在src文件夹里面新建router文件夹在这个文件夹里面新建index.js
3 import Vue from 'vue'
4 import VueRouter from 'vue-router'
5 Vue.use(VueRouter)
6 new VueRouter(options) 进行路由表的配置
7 options路由表的配置对象常用的属性:
routes 是一个数组 数组里面的每一个对象都是一个路由对象
路由对象常用属性:
{
path:'' 目前暂时所有路径都以/开头(表示都是首页同级的页面) 页面跳转的路径
component:当前路由对象渲染的组件对象
name:''路由的name值 以后跳转方式其中一种是根据name跳转的 也算是当前路由的唯一标识
meta:{当前路由的初始数据配置 可以在组件里面通过this.$route.mate.属性名获取
}
}
8 把当前创建出来的路由表对象 对外暴露 export default router
9 在main.js引入router对象 并注册到Vue的options对象里面
new Vue({
render: h => h(App),
router,//注册路由表对象到全局Vue对象中 让真个项目具有路由的功能
}).$mount('#app')
10 最后把router-view组件 定义在app.vue组件的template里面
表示路由对应的path渲染的组件最终呈现的位置
标签:面试题,vue,对象,Vue,组件,router,路由 From: https://blog.csdn.net/2401_82679799/article/details/139543648