2023最新版vue面试题1(持续更新中)

导读:本篇文章讲解 2023最新版vue面试题1(持续更新中),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1、JS 中判断数据类型的方法有几种?

  • 最常见的判断方法: typeof
  • 判断已知对象类型的方法:instanceof
  • 根据对象的 constructor判断: constructor
  • 无敌万能的方法:jquery.type()

2、vue与angular的区别?

  1. vue 仅仅是 mvvm 中的 view 层,只是一个如jquery 般的工具库,而不是框架,而 angular 而是 mvvm 框架。
  2. vue 的双向邦定是基于 ES5 中的 getter/setter 来实现的,而 angular 而是由自己实现一套模版编译规则,需要进行所谓的“脏”检查,vue 则不需要。因此vue 在性能上更高效,但是代价是对于 ie9 以下的浏览器无法支持。
  3. vue 需要提供一个 el 对象进行实例化,后续的所有作用范围也是在 el 对象之下,而 angular 而是整个 html 页面。一个页面,可以有多个 vue 实例,而 angular好像不是这么玩的。
  4. vue 真的很容易上手,学习成本相对低,不过可以参考的资料不是很丰富,官方文档比较简单,缺少全面的使用案例。高级的用法,需要自己去研究源码,至少目前是这样。

3、说说你对 angular 脏检查理解?

在 angular 中你无法判断你的数据是否做了更改,所以它设置了一些条件,当你触发这些条件之后,它就执行一个检测来遍历所有的数据,对比你更改的地方,然后执行变化。
这个检查很不科学。而且效率不高,有很多多余的地方,所以官方称为 脏检查。

4、active-class 是哪个组件的属性?

vue-router 模块的 router-link 组件

5、嵌套路由怎么定义?

在实际项目中我们会碰到多层嵌套的组件组合而成,但是我们如何实现嵌套路由呢?因此我们需要在 VueRouter 的参数中使用 children 配置,这样就可以很好的实现路由嵌套。
index.html,只有一个路由出口

<div id="app">
    <!-- router-view 路由出口,路由匹配到的组件将渲染在这里 -->
    <router-view> </router-view>
</div>

main.js,路由的重定向,就会在页面一加载的时候,就会将 home 组件显示出来因为重定向指向了 home 组件,redirect 的指向与 path 的必须一致。children里面是子路由,当然子路由里面还可以继续嵌套子路由。
 

import Vue from 'vue'
import VueRouter from 'vue-router'
Vue.use(VueRouter)

//引入两个组件
import home from "./home.vue"
import game from "./game.vue'
//定义路由

const routes = [
    { path:"/",redirect:"/home",//重定向,指向了 home 组件
    {
        path: "/home", component: home,
            children:[
                {path:"/home/game", component:game}
            ]
     }
]

//创建路由实例
const router = new VueRouter({froutes})
new Vue({
    el:'#app'
    data:{
    },
    methods:{
    },
    router
})

home.vue,点击显示就会将子路由显示在出来,子路由的出口必须在父路由里面否则子路由无法显示。
 

<template>
    <div>
        <h3>首页</h3>
        <router-link to="/home/game">
            <button>显示<tton>
        </router-link>
        <router-view></router-view>
    </div>
</template>

game.vue

<template>
    <h3>游戏</h3>
</template>

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

在 router 目录下的 index.js 文件中,对 path 属性加上/:id。
使用 router 对象的 params.id。

7、vue-router 有哪几种导航钩子?

三种

  • 第一种: 是全局导航钩子: router.beforeEach(to,from,next),作用: 跳转前进行判断拦截。
  • 第二种: 组件内的钩子
  • 第三种:单独路由独享组件

8、scss 是什么? 在 vue.cli 中的安装使用步骤是? 有哪几大特性?

css 的预编译

使用步骤:

  • 第一步: 用npm 下三个loader (sass-loader、css-loader、node-sass)
  • 第二步: 在 build 目录找到 webpack.base.config.js,在那个 extends 属性中加一个拓展.scss
  • 第三步: 还是在同一个文件,配置一个 module 属性
  • 第四步: 然后在组件的 style 标签加上 lang 属性 ,例如: lang=”scss”

有哪几大特性:

  1. 可以用变量,例如 ($变量名称=值)
  2. 可以用混合器,例如 ()
  3. 可以嵌套

9、mint-ui 是什么? 怎么使用? 说出至少三个组件使用方法?

基于 vue 的前端组件库。npm 安装,然后import 样式和js,vue.use (mintUi)全局引入。在单个组件局部引入: import {Toast} from  ‘mint-ui’
组件一: Toast(‘登录成功’)
组件二: mint-header
组件三: mint-swiper

10.v-model是什么? 怎么使用? vue 中标签怎么绑定事件?

可以实现双向绑定,指令(v-class、v-for、v-if、v-show、V-on)。vue 的 model层的 data 属性。绑定事件: <input @click=doLog()/>

11、iframe 的优缺点?

iframe 也称作嵌入式框架,嵌入式框架和框架网页类似,它可以把一个网页的框架和内容嵌入在现有的网页中。

优点:

  1. 解决加载缓慢的第三方内容如图标和广告等的加载问题
  2. Security sandbox
  3. 并行加载脚本
  4. 方便制作导航栏

缺点:

  1. iframe 会阻塞主页面的 Onload 事件
  2. 即时内容为空,加载也需要时间
  3. 没有语意

12、简述一下 Sass、Less,且说明区别?

他们是动态的样式语言,是 CSS 预处理器,CSS 上的一种抽象层。他们是一种特殊的语法/语言而编译成 CSS。

变量符不一样,less 是@,而 Sass 是$;

Sass 支持条件语句,可以使用 if{}else{},for{}循环等等。而 Less 不支持;

Sass 是基于 Ruby 的,是在服务端处理的,而 Less 是需要引入 less.js 来处理 Less代码输出 Css 到浏览器。

13、axios 是什么? 怎么使用? 描述使用它实现登录功能的流程?

请求后台资源的模块。npm install axios -S 装好,然后发送的是跨域,需在配置文件中 config/index.js 进行设置。后台如果是 Tp5 则定义一个资源路由。js 中使用import 进来,然后.get 或.post。返回在.then 函数中如果成功,失败则是在.catch 函数中

14、axios+tp5 进阶中,调用 axios.post( ‘api/user’)是进行的什么操作? axios.put( ‘api/user/8’)呢?

跨域,添加用户操作,更新操作

15、vuex 是什么? 怎么使用? 哪种功能场景使用它?

vue 框架中状态管理。在 main.js 引入 store,注入。新建了一个目录 store,…..export 。场景有: 单页应用中,组件之间的状态。音乐播放、登录状态、加入购物车

16、mvvm 框架是什么? 它和其它框架 (jquery) 的区别是什么? 哪些场景适合?

一个model+view+viewModel 框架,数据模型 model,viewModel 连接两个

区别:vue 数据驱动,通过数据来显示视图层而不是节点操作。
场景:数据操作比较多的场景,更加便捷。

17、自定义指令 (v-check、v-focus) 的方法有哪些? 它有哪些钩子函数?还有哪些钩子函数参数?

全局定义指令: 在 vue 对象的 directive 方法里面有两个参数,一个是指令名称,另外一个是函数。组件内定义指令: directives

钩子函数: bind (绑定事件触发) 、inserted(节点插入的时候触发)、update (组件内相关更新)

钩子函数参数: el、binding

18、说出至少 4种 vue 当中的指令和它的用法?

v-if:判断是否隐藏;v-for:数据循环出来;v-bind:class:绑定一个属性;v-model:实现双向绑定

19、vue-router 是什么? 它有哪些组件?

vue 用来写路由一个插件。router-link、router-view

20、导航钩子有哪些? 它们有哪些参数?

导航钩子有:
a/全局钩子和组件内独享的钩子。b/beforeRouteEnter、afterEnter、beforeRouterUpdate 、 beforeRouteLeave

参数:
有 to (去的那个路由) 、from (离开的路由) 、next (一定要用这个函数才能去到下一个路由,如果不用就拦截) 最常用就这几种

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/111790.html

(0)
Java光头强的头像Java光头强

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!