VUE面试题系列02,前端面试题

本文详细介绍了Vue面试中的关键知识点,包括动态路由params与query的区别、vue实例与组件的写法差异、对vueX的理解、vue路由懒加载的实现方式以及MV*架构模式。还涵盖了vue-router的两种路由模式和三种路由守卫的使用。
摘要由CSDN通过智能技术生成

16、动态路由传参2种方式params与query

一、格式的区别

1)、params

声明式:
<router-link :to="{ name: 'user', params: { id: 123 }}">User</router-link>
编程式:
$router.push({ name: 'user', params: { id: '123' }})

 //模板里的写法:
 $route.params.参数名
 
 //脚本里的写法:
 this.$route.params.参数名

动态路由匹配也行。

1)、路由配置:{ path: ‘/user/:id’, component: User }

2)、传参:

//声明式 用户01001的信息 //编程式 $router.push("/user/01001");

3)、接值:

//模板里的写法: $route.params.参数名

//脚本里的写法: this.$route.params.参数名

2)、query

传:

// 带查询参数,变成 /register?plan=private
$router.push({ path: '/register', query: { plan: 'private' }})
注意:如果提供了 path,那么params 会被忽略

接:

 //模板里的写法:
 $route.query.参数名 
 //脚本里的写法:
 this.$route.query.参数名

二、使用场景的区别:

1、params:在传递一个参数时使用,如果参数多的话,地址栏上不利于阅读

2、query:在传递多个参数时使用,地址栏比params好阅读

17、vue实例和vue组件写法的区别

1、 data是个函数(面试题) 一个组件的 data 选项必须是一个函数,且要有返回object,只有这样,每个实例(vue组件对象)就可以维护一份被返回对象的独立的拷贝,否则组件复用时,数据相互影响,也就是说,组件的作用域是独立的。

2、组件模板(html代码)只能有一个根标签

3、组件名不可和html官方的标签名同名

4、组件没有el选项,只有根实例存在el

5、书写:组件名如果驼峰,那么使用时,用短横线(羊肉串的写法)

18、谈谈你对vueX的理解

1、vueX是干什么的

vuex能够保存全局数据,供整个应用使用,可以在组件之间传递数据。

vuex保存的数据是响应式的

vuex保存的数据可以跟踪状态的变化

2、vueX的核心概念

state : 数据仓库 ,存储所有的 共享数据 ,相当于vue组件里的data

getter : 在state的基础上 派生的数据, 相当于vue组件里 computed

mutation:修改state的数据时,用mutation,这与跟踪状态 有关系

action:解决mutation里只能有同步代码的问题,action里可以有异步代码

3、vueX的数据流

组件里 dispatch(派发)vueX中的 action,action里commit(提交)mutation,mutation里修改state。state被修改后,会响应式到组件上。

4、辅助函数

现在的面试,都会问的比较多。而且在项目中大部分都会使用辅助函数来简化项目中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值