vue2中普通组件和函数组件的区别
时间: 2023-04-07 09:05:09 浏览: 132
普通组件和函数组件的主要区别在于它们的定义方式和渲染方式。普通组件是通过 Vue.extend() 方法或者单文件组件的方式定义的,它们有自己的状态和生命周期钩子函数。而函数组件是通过一个函数来定义的,它们没有自己的状态和生命周期钩子函数,只接受 props 作为参数,并返回一个 VNode。在性能方面,函数组件比普通组件更轻量级,因为它们没有实例化的过程,也没有额外的开销。
相关问题
Vue2中 子组件和父组件执行顺序
在Vue2中,子组件和父组件的执行顺序如下:
1. 父组件的beforeCreate钩子函数会先于子组件的beforeCreate钩子函数执行。
2. 然后,子组件的created钩子函数会先于父组件的created钩子函数执行。
3. 接下来,父组件的beforeMount钩子函数会先于子组件的beforeMount钩子函数执行。
4. 子组件的mounted钩子函数会先于父组件的mounted钩子函数执行。
5. 当父组件的数据更新时,会触发父组件的beforeUpdate钩子函数,然后再触发子组件的beforeUpdate钩子函数。
6. 更新完成后,子组件的updated钩子函数会先于父组件的updated钩子函数执行。
7. 最后,当父组件被销毁时,会触发父组件的beforeDestroy钩子函数,然后再触发子组件的beforeDestroy钩子函数。
8. 子组件的destroyed钩子函数会先于父组件的destroyed钩子函数执行。
vue2子组件调用父函数
在Vue2中,子组件可以通过两种方式来调用父组件的函数。
一种方式是在子组件中通过`$emit`方法来触发父组件的函数。在父组件中给子组件添加一个自定义事件,并将父组件中的方法传递给子组件。然后在子组件中,通过`$emit`方法来触发这个自定义事件,并传递子组件的数据作为参数。这样就可以调用父组件中的函数了。
另一种方式是在子组件中通过`$parent`来直接调用父组件的方法。在子组件中,通过`this.$parent.parentFun`来调用父组件的方法,并传递子组件的数据作为参数。这样就可以直接调用父组件的函数了。
所以,子组件可以通过这两种方式来调用父组件的函数。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [Vue子组件怎么调用父组件的方法 Vue子组件调用父组件函数的三种方法](https://blog.csdn.net/qq_45466204/article/details/126232074)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文