- 在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重置为初始状态
请登录后查看回复内容