vue组件通信, methods、computed和watch的区别

vue组件通信?

父传子:父组件在子组件标签上自定义一个属性,绑定要传递的值,子组件通过props来接收,props可以是一个数组,也可以是一个对象,如果父组件没有传递值,子组件可以在props中用default来设置默认值。

子传父:子组件通过this.$emit('自定义事件','要传递的值')传递数据,父组件在子组件标签上也定义一个方法监听该自定义事件,在这个方法中接收传递过来的数据。

非父子组件传值:通过中央时间总线,也称为eventBus,新建一个js文件,在这个js文件中导入一个空的vue实例,然后导出,通过实例对象调用$emit方法来传值,on方法来接收值

methods、computed和watch的区别?

methods:定义方法,定义的方法不调用不会执行,不具有缓存性。

computed:计算属性,依赖于属性值的变化,属性值变化会触发computed里定义的方法,具有缓存性。

watch:监听属性,监听数据的变化会触发执行函数,不具有缓存性。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容