1:vue的模板语言用的是哪个web模板引擎
2:在使用computed时,函数名和data数据源中的数据可以同名吗?
不能同名,因为不管计算属性还是data还是props都会挂在vm实例上,所有不能同名
3:vue中data的属性可以和methods中的方法同名吗?为什么?
不可以,vue会把methods和data的东西,全部代理到vue生成对象中。会产生覆盖所以最好不要同名
4:怎么给vue定义全局的方法?
Vue.prototype.xxx = function(){}
5:怎么解决vue打包后静态资源图片失效的问题?
①config/index.js下的assetsPulicPath默认是/改成./
②build/utils.js配置publicPath
6:怎么解决vue动态设置img的src不生效的问题?
使用require包裹起来Img地址。因为动态添加src被当做静态资源处理了,没有进行编译,所以要加上require。
7:跟keep-alive有关的生命周期是哪些?描述下这些生命周期
activated和deactivated两个生命周期函数
activated:当组件激活时,钩子触发的顺序是created->mounted->activated
deactivated: 组件停用时会触发deactivated,当再次前进或者后退的时候只触发activated
8:activated和mounted的执行顺序
mounted是挂载vue实例后的钩子函数,activated是组件被激活后的钩子函数。
mounted的时候 是不保证组件已在document中。也就是说组件还没有被激活,所以activated可以理解为在mounted之后执行。mounted->activated
9:vue1.x和vue2.x的区别
①:2.0去掉了默认过滤器
②:2.0组件必须要有根元素包裹起来
③:生命周期不同
1.x
init // 初始化
created // 实例创建,dom未生成
beforeCompile // 编译之前
compiled // 编译完成
ready // 准备 mounted
beforeDestroy // 销毁前
destroyed // 销毁完成
2.x
beforeCreate // 创建前 -> init
created // 实例创建后
beforeMount // 装载前 -> beforeMount
mounted // 装载后 -> ready
beforeUpdate // 组件更新前
updated // 组件更新后
activated 当前组件激活时
deactivated 当前组件停用时
beforeDestroy // 组件销毁前
destroyed // 组件销毁后
④:1.0中props支持双向数据传递的,2.0只允许父向子传值
10:vue3.x的新特性
体积小,速度快,维护性,更接近于原生.
11:vue中怎么重置data?
Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象,第一个参数为目标对象第二个参数为源对象。
vue中this.$data(目标对象)获取当前状态下的data,this.$options.data()获取该组件初始化状态下的data(源对象)
12:你有使用过babel-polyfill模块吗?主要是用来做什么的?
es6语法转换成es5语法
13:vue事件中传入$event时,e.target和e.currentTarget的区别
e.target返回的是当前点击的元素,e.currentTarget始终返回事件所绑定的元素
<div @click="detalis($event)"><span>1</span></div>
detailes(e){
console.log(e.target)//<span>1</span>
console.log(e.currentTarget)//<div><span>1</span></div>
}
14:vue实现强制刷新
①:this.$forceUpdate() 组件内部
②:v-if控制
③:改变组件绑定的Key
④:this.$nextTick
15:vue的属性名称与method的方法名称一样时会发生什么问题。
methods方法报当前xxx不是函数
16:vue变量名如果以_、$开头的属性会发生什么问题?怎么访问到它们的值?
访问不到,因为vue会以为是自己内置的变量会在实例上找。 使用this.$data.xxx来访问他们的值
17:说说你对vue的表单修饰符.lazy的理解
https://blog.csdn.net/weixin_39773218/article/details/104588825
18:template有什么用
隐秘性:该标签不会显示在页面的任何地方,即便里面有多少内容,它永远都是隐藏的状态。
任意性:该标签可以写在页面的任何地方,甚至是head、body、sciprt标签内
无效性:该标签里的任何HTML内容都是无效的,不会起任何作用。
19:vue销毁计时器
beforeDestroy()钩子函数中销毁
20:说说你对provide和inject的理解
https://blog.csdn.net/weixin_39773218/article/details/94960241
21:vue在开发过程中要同时跟N个不同的后端人员联调接口(请求的url不一样)时你该怎么办?
proxyTable配置即可
22:watch和computed有什么区别?
watch:一个数据影响一些数据。比如watch触发时进行交互
computed:一个数据受一些数据影响(有缓存机制)
23:怎么写自定义指令,自定义指令有哪些生命周期
directives
①:bind:只调用一次,指令第一次绑定到元素时调用,用这个钩子函数可以定义一个绑定时执行一次的初始化动作。
②:inserted:被绑定元素插入父节点时调用(父节点存在即可调用,不必存在于document中)。
③:update:被绑定于元素所在的模板更新时调用,而无论绑定值是否变化。通过比较更新前后的绑定值,可以忽略不必要的模板更新。
④:componentUpdated:被绑定元素所在模板完成一次更新周期时调用。
⑤:unbind:只调用一次,指令与元素解绑时调用。
24:vue生命周期(10)
beforeCreate 创建前
created 创建后
beforeMounte 挂载前
mounted 挂载后
beforeUpdate 更新前
updated 更新后
***********使用keep-alive时触发*************
activated 当前组件激活时
deactivated 当前组件停用时
***********使用keep-alive时触发*************
beforeDestroy 销毁前
destroyed 销毁后
25:nextTick作用是什么?
在DOM挂载前获取操作DOM
26:methods使用箭头函数会怎么样?
箭头函数绑定了父级作用域的上下文,所以 this将不会按照期望指向Vue实例,而是undefined。