vue组件通信?
父传子:父组件在子组件标签上自定义一个属性,绑定要传递的值,子组件通过props来接收,props可以是一个数组,也可以是一个对象,如果父组件没有传递值,子组件可以在props中用default来设置默认值。
子传父:子组件通过this.$emit('自定义事件','要传递的值')传递数据,父组件在子组件标签上也定义一个方法监听该自定义事件,在这个方法中接收传递过来的数据。
非父子组件传值:通过中央时间总线,也称为eventBus,新建一个js文件,在这个js文件中导入一个空的vue实例,然后导出,通过实例对象调用$emit方法来传值,on方法来接收值
methods、computed和watch的区别?
methods:定义方法,定义的方法不调用不会执行,不具有缓存性。
computed:计算属性,依赖于属性值的变化,属性值变化会触发computed里定义的方法,具有缓存性。
watch:监听属性,监听数据的变化会触发执行函数,不具有缓存性。