Vue面试题总结05

6 篇文章 0 订阅

1. 路由之间是怎么跳转的?有哪些方式

  1. <router-link to="需要跳转到页面的路径">

  1. this.$router.push()跳转到指定的url,并在history中添加记录,点击回退返回到上一个页面

  1. this.$router.replace()跳转到指定的url,但是history中不会添加记录,点击回退到上上个页面

  1. this.$touter.go(n)向前或者后跳转n个页面,n可以是正数也可以是负数

2. vue-router怎么配置路由

在vue中配置路由分为5个步骤,分别是:

  1. 引入vue-router.js

  2. 配置路由path和组件, 和生成路由对象

  3. 把路由对象配置到new Vue中router选项下

  4. 页面使用<router-view></router-view> 承载路由

  5. <router-link to="要跳转的路径"></router-link> 设置路由导航(声明式导航方式/编程式跳转)

3. vue-router的钩子函数都有哪些

关于vue-router中的钩子函数主要分为3类

  1. 全局钩子函数要包含: beforeEach

    beforeEach函数有三个参数,分别是:

    to:router即将进入的路由对象

    from:当前导航即将离开的路由

    next:function,进行管道中的一个钩子,如果执行完了,则导航的状态就是 confirmed (确认的)否则为false,终止导航。

  1. 单独路由独享组件: beforeEnter,

  1. 组件内钩子: beforeRouterEnter, beforeRouterUpdate, beforeRouterLeave

4. 路由传值的方式有哪几种

Vue-router传参可以分为两大类,分别是编程式的导航 router.push和声明式的导航 router.push

编程式的导航:

字符串:直接传递路由地址,但是不能传递参数

this.$router.push("home")

对象:命名路由 这种方式传递参数,目标页面刷新会报错 - name+params

this.$router.push({name:"news",params:{userId:123})

查询参数 和 path 配对的是query

this.$router.push({path:"/news',query:{uersId:123}) 

接收参数 this.$route.query

声明式导航:

字符串:

<router-link to:"news"></router-link>

命名路由

<router-link :to:"{name:'news',params:{userid:1111}}"></route-link>

还可以to="/path/值" - 需要提前在路由 规则里值 /path/:key

查询参数

<router-link :to="{path:'/news',query:{userId:1111}}"></router-link>

还可以to="/path?key=value

5. 怎么定义vue-router的动态路由?怎么获取传过来的动态参数?

动态路由指的就是path路径上传值, 前提需要路由规则里提前配置 /path/:key 名, 可以写多个用 / 隔开, 获取使用 $route.params.key 名来提取对应用路径传过来的值

6. Vue的路由实现模式:hash模式和history模式

hash模式:在浏览器中符号“#”,#以及#后面的字符称之为hash,用 window.location.hash 读取。特点:hash虽然在URL中,但不被包括在HTTP请求中;用来指导浏览器动作,对服务端安全无用,hash不会重加载页面。

history模式:history采用HTML5的新特性;且提供了两个新方法: pushState(), replaceState()可以对浏览器历史记录栈进行修改,以及popState事件的监听到状态变更

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Vue和React都是目前非常流行的前端框架,以下将通过回答一些常见的Vue和React面试题来介绍它们的特点。 1. Vue和React有什么区别? Vue是一种渐进式框架,它更容易上手,适合中小型项目,提供了更多的指令和内置功能。而React是一种更简洁的库,适用于大型项目,更加灵活和自由,但需要配合其他库来实现一些功能。 2. Vue的双向数据绑定和React的单向数据流有什么区别? Vue使用了双向数据绑定,即数据的变化会自动反映在视图上,同时视图上的变化也会同步到数据上。而React采用了单项数据流,数据的变化会通过props向下传递,子组件无法直接修改父组件的数据。 3. Vue和React如何进行组件通信? 在Vue中,组件通信可以通过props和$emit事件来实现父子组件之间的通信,也可以通过Vuex来进行跨组件的通信。而React通过props和state来进行组件之间的通信,也可以使用Context和Redux进行跨组件的通信。 4. Vue和React的虚拟DOM有什么区别? Vue和React都使用了虚拟DOM来提高渲染性能。Vue的虚拟DOM是基于模板的,将数据和模板进行绑定,通过比较新旧虚拟DOM的差异来更新视图。而React的虚拟DOM是通过JSX语法创建的,通过比较新旧虚拟DOM树的差异来更新视图。 5. Vue和React对性能优化有哪些策略? Vue提供了一些内置的性能优化策略,如使用v-if来进行条件渲染、使用computed属性来缓存计算结果、使用异步组件来按需加载等。React则提供了PureComponent和React.memo等工具来减少不必要的渲染,同时也可以使用shouldComponentUpdate生命周期钩子来控制组件的渲染。 总结Vue和React都是非常优秀的前端框架,具有各自的特点和优势。在选择框架时,需要根据项目的规模和需求来进行选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

端端1023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值