Vue面试题-技术鸭论坛-前端交流-技术鸭(jishuya.cn)

Vue面试题

  • 在vue中watch和created哪个先执行?为什么?

答:

官网的生命周期图中,init reactivity是晚于beforeCreate但是早于created的。
watch加了immediate,应当同init reactivity周期一同执行,早于created。
而正常的watch,则是mounted周期后触发data changes的周期执行,晚于created。

  • v-if和v-show哪个优先级更高?

if>show

v-if="true"   v-show="false"

v-if="false"   v-show="true"

不管那种,都为false,只要有false就不显示

上面两种if是用来判断得,如果为if为true,那么v-show就会出现并执行隐藏,元素还在只是不显示,是由if进行的初始化渲染,当if为false得时候,v-show不执行,在所在元素都不显示当前得标签,不进行初始化渲染。

当:

v-show="false" v-if="true"

v-show="true" v-if="false"  

当show在前,if在后时,也是判断if,v-show=”false” v-if=”true”, 当前所使用的标签还在,有进行初始化渲染。在dom中可以找到。

当v-show=”true” v-if=”false” 也是判断if,此时if为false,所以当前标签没有被初始化渲染。

所以if>show

  • vue中怎么重置data?

    可以通过this.$data获取当前状态下的data,通过this.$options.data()获取该组件初始状态下的data。
    然后只要使用Object.assign(this.$data, this.$options.data())就可以将当前状态的data重置为初始状态

     

请登录后发表评论

    请登录后查看回复内容