iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >关于路由vue-router的vuejs面试题有哪些
  • 397
分享到

关于路由vue-router的vuejs面试题有哪些

2023-06-14 11:06:27 397人浏览 独家记忆
摘要

这篇文章主要介绍了关于路由Vue-router的vuejs面试题有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。路由 vue-router 面试题1. mvvm框架是什么

这篇文章主要介绍了关于路由Vue-router的vuejs面试题有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

路由 vue-router 面试题

1. mvvm框架是什么?

mvvm即Model-View-ViewModel,mvvm的设计原理是基于mvc

MVVM是Model-View-ViewModel的缩写,Model代表数据模型负责业务逻辑和数据封装,View代表UI组件负责界面和显示,ViewModel监听模型数据的改变和控制视图行为,处理用户交互,简单来说就是通过双向数据绑定把View层和Model层连接起来。在MVVM架构下,View和Model没有直接联系,而是通过ViewModel进行交互,我们只关注业务逻辑,不需要手动操作DOM,不需要关注View和Model的同步工作

2. vue-router是什么?有哪些组件?
  • Vue Router 是 vue.js 官方的路由管理器。它和 Vue.js 的核心深度集成,让构建单页面应用变得易如反掌。

  • <router-link><router-view><keep-alive>

3. active-class 是哪个组件的属性?

active-class是router-link终端属性,用来做选中样式的切换,当router-link标签被点击时将会应用这个样式

4. 怎么定义vue-router的动态路由?怎么获取传过来的值?
  • 动态路由的创建,主要是使用path属性过程中,使用动态路径参数,以冒号开头,如下:

{  path: '/details/:id'  name: 'Details'  components: Details}

访问details目录下的所有文件,如果details/a,details/b等,都会映射到Details组件上。

  • 当匹配到/details下的路由时,参数值会被设置到this.$route.params下,所以通过这个属性可以获取动态参数

console.log(this.$route.params.id)
5. vue-router有哪几种导航钩子?
  • 全局前置守卫

const router = new VueRouter({})router.beforeEach((to, from, next) = {  // to do somethings})
  • to:Route,代表要进入的目标,它是一个路由对象。

  • from:Route,代表当前正要离开的路由,也是一个路由对象

  • next:Function,必须需要调用的方法,具体的执行效果则依赖next方法调用的参数

    • next():进入管道中的下一个钩子,如果全部的钩子执行完了,则导航的状态就是comfirmed(确认的)

    • next(false):终端当前的导航。如浏览器URL改变,那么URL会充值到from路由对应的地址。

    • next(’/’)||next({path:’/’}):跳转到一个不同的地址。当前导航终端,执行新的导航。

* next 方法必须调用,否则钩子函数无法resolved
  • 全局后置钩子

router.afterEach((to, from) = { // to do somethings})
  • 后置钩子并没有next函数,也不会改变导航本身。

  • 路由独享钩子

    • beforEnter

const router = new VueRouter({  routes: [    {      path: '/home',      component: Home,      beforeEnter: (to, from, next) = {        // to do somethings        // 参数与全局守卫参数一样    }    }  ]})
  • 组件内导航钩子

const Home = {  template: `<div</div`,  beforeRouteEnter(to, from, next){    // 在渲染该组件的对应路由被 confirm 前调用    // 不能获取组件实例 ‘this’,因为当守卫执行前,组件实例还没被创建  },  beforeRouteUpdate(to, from, next){    // 在当前路由改变,但是该组件被复用时调用    // 例:对于一个动态参数的路径 /home/:id,在/home/1 和 /home/2 之间跳转的时候    // 由于会渲染同样的 Home 组件,因此组件实例会被复用,而这个钩子就会在这个情况下被调用。    // 可以访问组件实例 'this'  },  beforeRouteLeave(to, from, next){    // 导航离开该组件的对应路由时调用    // 可以访问组件实例 'this'  }}
  • beforeRouterEnter不能访问this,因为守卫在导航确认前被调用,因此新组建还没有被创建,可以通过传一个回调给 next 来访问组件实例。在导航被确认的时候执行回调,并把实例作为回调的方法参数。

const Home = {  template: `<div</div`,  beforeRouteEnter(to, from, next){    next( vm = {      // 通过 'vm' 访问组件实例    })  }}
6. $route和 $router的区别是什么?
  • router为VueRouter的实例,是一个全局路由对象,包含了路由跳转的方法、钩子函数等。

  • route 是路由信息对象||跳转的路由对象,每一个路由都会有一个route对象,是一个局部对象,包含path,params,hash,query,fullPath,matched,name等路由信息参数。

7. vue-router响应路由参数的变化
  • 用watch 检测

// 监听当前路由发生变化的时候执行watch: {  $route(to, from){    console.log(to.path)    // 对路由变化做出响应  }}
  • 组件内导航钩子函数

beforeRouteUpdate(to, from, next){  // to do somethings}
8. vue-router 传参
  • Params

    • 只能使用name,不能使用path

    • 参数不会显示在路径上

    • 浏览器强制刷新参数会被清空,

  // 传递参数  this.$router.push({    name: Home,    params: {    number: 1 ,    code: '999'  }  })  // 接收参数  const p = this.$route.params
  • Query:

    • 参数会显示在路径上,刷新不会被清空

    • name 可以使用path路径

// 传递参数this.$router.push({  name: Home,  query: {  number: 1 ,  code: '999'}                  })// 接收参数const q = this.$route.query
9. vue-router的两种模式
  • hash

    • 原理是onhashchage事件,可以在window对象上监听这个事件

window.onhashchange = function(event){  console.log(event.oldURL, event.newURL)  let hash = location.hash.slice(1)}
  • history

    • 利用了HTML5 History Interface 中新增的pushState()和replaceState()方法。

    • 需要后台配置支持。如果刷新时,服务器没有响应响应的资源,会刷出404,

10. vue-router实现路由懒加载(动态加载路由)
  • 把不同路由对应的组件分割成不同的代码块,然后当路由被访问时才加载对应的组件即为路由的懒加载,可以加快项目的加载速度,提高效率

const router = new VueRouter({  routes: [    {      path: '/home',      name: 'Home',      component:() = import('../views/home')}  ]})

感谢你能够认真阅读完这篇文章,希望小编分享的“关于路由vue-router的vuejs面试题有哪些”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: 关于路由vue-router的vuejs面试题有哪些

本文链接: https://www.lsjlt.com/news/270541.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 关于路由vue-router的vuejs面试题有哪些
    这篇文章主要介绍了关于路由vue-router的vuejs面试题有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。路由 vue-router 面试题1. mvvm框架是什么...
    99+
    2023-06-14
  • vue-router相关面试题及答案有哪些
    这篇文章主要介绍“vue-router相关面试题及答案有哪些”,在日常操作中,相信很多人在vue-router相关面试题及答案有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue-router相关面试题...
    99+
    2023-07-05
  • vue中的vue-router路由模式有哪些
    这篇文章将为大家详细讲解有关vue中的vue-router路由模式有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。vue-router 路由模式有几种? Hash:&...
    99+
    2024-04-02
  • 有哪些关于this的面试题
    这篇文章主要讲解了“有哪些关于this的面试题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些关于this的面试题”吧!注意:下面的 JavaScrip...
    99+
    2024-04-02
  • 关于this的面试题有哪些
    这篇文章给大家介绍关于this的面试题有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。问题1:变量 vs 属性下面的打印结果是啥:const object =&...
    99+
    2024-04-02
  • 关于Tomcat的面试题有哪些
    本篇内容主要讲解“关于Tomcat的面试题有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“关于Tomcat的面试题有哪些”吧!一、什么是TomcatTomc...
    99+
    2024-04-02
  • Vue相关面试题有哪些
    小编给大家分享一下Vue相关面试题有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!0.那你能讲一讲MVVM吗?MVVM是Model-View-ViewMode...
    99+
    2023-06-14
  • 关于Java IO的面试题有哪些
    本篇内容介绍了“关于Java IO的面试题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!  1.IO里面的常见类,字节流、字符流、接口...
    99+
    2023-06-02
  • 关于闭包的面试题有哪些
    本篇内容介绍了“关于闭包的面试题有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!每个 JavaScri...
    99+
    2024-04-02
  • Java面试中有哪些关于String类的面试题
    这篇文章将为大家详细讲解有关Java面试中有哪些关于String类的面试题,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。比较两个字符串时使用“==”还是equals()方法?当然是equal...
    99+
    2023-05-31
    java 中有 string
  • 关于redis缓存的面试题有哪些
    这篇文章将为大家详细讲解有关关于redis缓存的面试题有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。redis缓存的面试题1、redis和memcached什么区别...
    99+
    2024-04-02
  • 前端关于HTML的面试题有哪些
    这篇文章主要讲解了“前端关于HTML的面试题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“前端关于HTML的面试题有哪些”吧!1.什么是HTML?HT...
    99+
    2024-04-02
  • 关于angular的前端面试题有哪些
    这篇文章主要介绍了关于angular的前端面试题有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1,ng-if 跟 ng-show/hide 的区别有哪些?第一点区别是,...
    99+
    2023-06-14
  • 有哪些关于Java集合的面试题
    本篇内容主要讲解“有哪些关于Java集合的面试题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“有哪些关于Java集合的面试题”吧!HashMap和HashTable有何不同?  (1)HashM...
    99+
    2023-06-02
  • Java中关于锁的面试题有哪些
    这篇文章主要介绍Java中关于锁的面试题有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Java有哪些集合类Java中的集合主要分为四类:1、List列表:有序的,可重复的;2、Queue队列:有序,可重复的;3...
    99+
    2023-06-14
  • 关于Python的面试问答题有哪些
    这篇文章主要介绍“关于Python的面试问答题有哪些”,在日常操作中,相信很多人在关于Python的面试问答题有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”关于Python的面试问答题有哪些”的疑惑有所...
    99+
    2023-06-16
  • vue的面试题有哪些
    本篇内容主要讲解“vue的面试题有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“vue的面试题有哪些”吧!一、对MVVM的理解MVVM分为Model、View、ViewModel。Model...
    99+
    2023-06-27
  • vue-router实现路由懒加载的方法有哪些
    这篇文章给大家介绍vue-router实现路由懒加载的方法有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。什么是路由懒加载?也叫延迟加载,即在需要的时候进行加载,随用随载。官方解释: 1:当打包构建应用时...
    99+
    2023-06-06
  • 有哪些Vue面试题
    这篇文章主要讲解了“有哪些Vue面试题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“有哪些Vue面试题”吧!  一、什么是MVVM  MVVM是Model-...
    99+
    2024-04-02
  • JavaScript中关于闭包的面试题有哪些
    小编给大家分享一下JavaScript中关于闭包的面试题有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!每个 JavaScript 程序员都必须知道闭包是什么...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作