子组件向父组件传递数据
1、子组件中,通过下面的方法向父组件传递数据。
this.$emit('updateList', { data: this.list })
2、父组件中通过写@updateList事件来获得监听事件
<visual-reserve-component v-if="isWeb"
:style="{height:seatheight+'px'}"
class="scroll-seat"
:list="list"
@updateList="updateList" />
深度监听属性的变化
应用场景:
父组件向子组件传递参数list属性来渲染页面,list的中元素的属性发生变化,此时要想让子组件根据list的值重新渲染,这个时候就要使用深度监听。
如何使用:
1、在父组件中,调用子组件。
2、在子组件中,首先定义属性
props: {
list: {
type: Array,
default: () => {
}
}
},
然后深度监听属性的变化
watch: {
list: {
handler (newV) {
this.webLog('list数据改变了')
this.draw()
},
deep: true
}
},
调用组件中的方法
1、首先定义一个组件为如下
2、然后可以调用组件中的方法
this.$refs['content'].refreshData(this.refreshTmp)
自定义属性
props:{
shareList:{
type: Array,
// 注意此处的形式
default: () => []
}
}
如何在js文件中暴露出常量
将多个页面公用的常量提取出来
//对象的形式
export const cardData = {
key: 1
}
//值的形式
export const key = '123'
// 暴露出去
export default {
key,
cardData
}
import data from './mock/data.js'