其他分享
首页 > 其他分享> > vue面试题

vue面试题

作者:互联网

1. vue 几种常用的指令

2. css 只在当前组件起作用

<style scoped>
</style>

3. v-if 和 v-show 的区别

4. $route 和 $router 区别

5. vue 常用的修饰符

事件

表单

键盘

6. vue 中 key 值的作用

给每个节点一个唯一的标识, Diff算法可以正确的识别此节点, 更精确匹配目标节点

7. 如何获取 dom

通过给组件绑定 ref, 可以使用 $refs 对象获取 , 要在挂载完成后操作

8. vue 等单页面应用及其优缺点

单页面:

多页面:

​ 就是指一个应用中有多个页面, 页面跳转时是整页刷新

优点:

缺点:

9. 的作用是什么

10. 分别阐述 computed 和 watch的使用场景

共同点:

​ 都是希望在依赖数据发生改变的时候, 被依赖的数据根据预先定义好的函数发生自动的变化

应用场景:

11. $nextTick 的使用

12. assets 和 static 的区别

建议样式放在 assets 中进行打包, 引入的第三方文件放到 static 中, 因为引入的文件阴茎做过打包处理

13. vue 和 jQuery 的区别

区别:

14. 请说出封装 vue 组件的过程

首先使用Vue.extend()创建组件

接着用Vue.component()注册组件

然后如果子组件需要数据, 可以在props中接受定义

最后子组件修改好数据后可以使用emit()方法传递给父组件

Vue.extend()创建组件:

var myCom = Vue.extend({
    template: '<div>这是我的组件</div>'
})

全局注册:

<template id="myCom">
	<div>myCom 组件</div>
</template>
Vue.component('myCOm',myCom)// 注册上面创建的组件
全局注册语法糖: 不需要创建直接注册
Vue.component('myCom',{
	template:`
		<div>myCom 组件</div>
	`
})
使用template和script标签:
<script type="text/x-template" id="myCom1">
    <div>这是script标签构建的组件</div>
</script>
Vue.component('my-com',{
    template: '#myCom'
})

局部注册:

var app = new Vue({
    el: '#app',
    components: {
        'my-com': myCom
    }
})
语法糖:
var app = new Vue({
    el: '#app',
    components: {
        'my-com': {
           template: '<div>这是我的组件</div>'
        }
    }
})
使用template和script标签:
var app = new Vue({
    el: '#app',
    components: {
        'my-com': {
           template: '#myCom'
        }
    }
})

15. params 和 query 的区别

16. vue 更新数组时触发视图更新的方法

操作对象或数组
变异方法
以下方法不会更改原数组: 返回的时新数组, 可以用新数组替换原来的数组

17. vue 常用的 UI 组件库

18. vue-router 实现路由懒加载(动态加载路由)

19. 介绍 Vue 的生命周期每个函数

data ----- undefind
method --- undefind
$el ------ undefind
data ----- 数据观测(data observer) // 尽量不要在此处操作data
method --- 可用
$el ------ undefind
data ----- 数据观测(data observer)
method --- 可用
$el ------ undefind
data ----- 数据观测(data observer)
method --- 可用
$el ------ 创建完成 // 如果使用到一些第三方的UI插件, 而且这个插件还需要被初始化, 那么, 必须在mounted中来初始化插件
正在根据最新的data数据,重新渲染内存中的的模板结构;并把渲染好的模板结构替换到页面上,可以在这个钩子中进一步地更改状态,这不会触发附加的重渲染过程
当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作
实例销毁之前调用, 组件即将被销毁, 但是还没有真正开始销毁, 在这里, 实例仍然完全可用, data、methods等数据或方法,依旧可以被正常访问
vue 实例销毁后调用, Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子组件也会被销毁, data和methods都不可使用
当我们运用了组件缓存时, 如果想每次切换都发送一次请求的话, 需要把请求函数写在activated中, 写在created或mounted中其只会在首次加载该组件的时候起作用
在服务器端渲染期间不被调用, 就是在挂载后和更新前被调用

标签:面试题,vue,myCom,Vue,组件,data,页面
来源: https://blog.csdn.net/qq_50664041/article/details/115052287