VUE 各种遇到的问题以及面试题

1.你知道vue的模板语法用的是哪个web模板引擎的吗?说说你对这模板引擎的理解.

mustache,主要是使用{{}}进行数据渲染。

2.你知道v-model的原理吗?说说看

v-model是一个语法糖,真正实现双向绑定还是依靠v-bind:绑定响应式数据。以及触发input事件并传递数据(核心和重点)

3.怎么给VUE定义全局方法?

第一种:将方法挂载到Vue的proptotype上,第二种使用全局混入mixin。

4.怎么解决vue打包后静态资源图片失效的问题?

找到config/index.js配置文件,找到build打包对象里的assetsPublicPath属性,将默认值:'/',修改为:'./'

5.怎么解决vue动态设置img的src不生效的问题?

因为动态添加的src被当做静态资源处理了,没有进行编译,所以要加上require。
<img :src="require('@/assets/images/xxx.png')" />

6.使用vue后怎么针对搜索引擎做SEO优化?

使用服务端渲染,vue官方推荐nuxt.js

7.跟keep-alive有关的生命周期是哪些?描述下这些生命周期

1.activated: 页面第一次进入的时候,钩子触发的顺序是created->mounted->activated
2.deactivated: 页面退出的时候会触发deactivated,当再次前进或者后退的时候只触发activated

8.你有看过vue推荐的风格指南吗?列举出你知道的几条

1.标签命名风格。例如<el-button>
2.组件样式添加 scope属性。
3.使用v-for记得加上key。可以快速定位到更新的dom节点,提高效率。
4.优先使用vuex管理全局状态。

9.Vue1.x和Vue2.x有什么区别

12.0生命周期更加语义化,增加了 beforeUpdate,updated,activated,deactivated,删除了attached,detached。
22.0删除了1.0自带的过滤器。

10.你知道vue中key的原理吗?说说你对它的理解

便于diff算法的更新,key的唯一性,能让diff算法更快的找到需要更新的dom节点。

11.Vue中怎么重置data

1.Object.assign()方法:用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。
2.this.$data:获取当前状态下的data。
3.this.$option.data:获取该组件初始化状态下的data。
4.Object.assign(this.$data,this.$option.data);

12.Vue渲染模板时怎么保留模板中的HTML注释呢?

//模板标签添加 comments 属性
<template comments>
     ...
</template>

猜你喜欢

转载自www.cnblogs.com/MJ-MY/p/11612112.html