1.vue中 key 值的作用
key的作用主要是为了高效的更新虚拟DOM。在vue中,当使用***相同标签名元素***的过渡切换时,也会使用到key属性,这样是为了让vue区分它们,否则vue只会替换其内部属性而不会触发过渡效果。
2.Vue 组件中 data 为什么必须是函数?
在 new Vue() 中,data 是可以作为一个对象进行操作的,然而在 component 中,data 只能以函数的形式存在,不能直接将对象赋值给它。 当data选项是一个函数的时候,每个实例可以维护一份被返回对象的独立的拷贝,这样各个实例中的data不会相互影响,是独立的。
3.nextTick的实现原理是什么?
nextTick中的回调函数是在下一次DOM更新结束之后执行的,延迟了回调,从而防止多次更新。nextTick里面就是一个异步方法(promise)。
4.vue中子组件调用父组件的方法?
① 直接在子组件中通过this.
p
a
r
e
n
t
.
e
v
e
n
t
来
调
用
父
组
件
的
方
法
。
②
在
子
组
件
里
用
parent.event来调用父组件的方法。 ② 在子组件里用
parent.event来调用父组件的方法。②在子组件里用emit向父组件触发一个事件,父组件监听这个事件就行了。
③ 父组件把方法传入子组件中,在子组件里直接调用这个方法。
5.vue中父组件调用子组件的方法?
父组件利用ref属性操作子组件方法。
父:<child ref="childMethod"></child>
子:
test() { console.log('hello') }
在父组件里调用子组件的test方法:this.$refs.childMethod.test()