让前端飞壁纸小家

vue面试必看(精简版)

2020-03-29  本文已影响0人  玩点小技术
1.vue优点?
2.vue父组件向子组件传递数据?

通过props

3.子组件像父组件传递事件?

$emit方法

4.v-show和v-if指令的共同点和不同点?

共同点:都能控制元素的显示和隐藏;
不同点:

总结:如果要频繁切换某节点,使用v-show(切换开销比较小,初始开销较大)。如果不需要频繁切换某节点使用v-if(初始渲染开销较小,切换开销比较大)。

5.如何让CSS只在当前组件中起作用?

在组件中的style前面加上scoped

6.<keep-alive></keep-alive>的作用是什么?

keep-alive 是 Vue 内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染。

7.如何获取dom?

ref="domName" 用法:this.$refs.domName

8.说出几种vue当中的指令和它的用法?
9. vue-loader是什么?使用它的用途有哪些?
10.为什么使用key?

需要使用key来给每个节点做一个唯一标识,Diff算法就可以正确的识别此节点。
作用主要是为了高效的更新虚拟DOM。

11.v-modal的使用。
12.分别简述computed和watch的使用场景
13.v-on可以监听多个方法吗
可以的<input type="text" v-on="{ input:onInput,focus:onFocus,blur:onBlur, }">
13.$nextTick的使用

当你修改了data的值然后马上获取这个dom元素的值,是不能获取到更新后的值,
你需要使用$nextTick这个回调,让修改后的data值渲染更新到dom元素之后在获取,才能成功。

14.vue组件中data为什么必须是一个函数?
15.Vue实现数据双向绑定的原理:Object.defineProperty()

vue实现数据双向绑定主要是:采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,在数据变动时发布消息给订阅者,触发相应监听回调。
更细的说:是整合Observer,Compile和Watcher三者,通过Observer来监听自己的model的数据变化,通过Compile来解析编译模板指令(vue中是用来解析 {{}}),最终利用watcher搭起observer和Compile之间的通信桥梁,达到数据变化 —>视图更新;视图交互变化(input)—>数据model变更双向绑定效果。

16.对于MVVM的理解?

在MVVM架构下,View 和 Model 之间并没有直接的联系,而是通过ViewModel进行交互,Model 和 ViewModel 之间的交互是双向的, 因此View 数据的变化会同步到Model中,而Model 数据的变化也会立即反应到View 上。

17.Vue的生命周期
18.v-if和v-for的优先级

当 v-if 与 v-for 一起使用时,v-for 具有比 v-if 更高的优先级,这意味着 v-if 将分别重复运行于每个 v-for 循环中。所以,不推荐v-if和v-for同时使用。
如果v-if和v-for一起用的话,vue中的的会自动提示v-if应该放到外层去。

19.vue的两个核心点

数据驱动、组件系统

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

push();pop();shift();unshift();splice(); sort();reverse()

21.第一次页面加载会触发哪几个钩子?

beforeCreate, created,beforeMount, mounted

22.created和mounted的区别
23.vue-router 有哪几种导航钩子?
24.route 和router 的区别
25.vue-router的两种模式
26.vuex有哪几种属性?
27.css只在当前组件起作用
在style标签中写入scoped即可 例如:<style scoped></style>
28.v-if 和 v-show 区别

v-if按照条件是否渲染,v-show是display的block或none;

29.vue等单页面应用及其优缺点
30.Vue组件间的参数传递
上一篇 下一篇

猜你喜欢

热点阅读