爷爷组件
grandPa:
provide() {
return {
treeDataObj: this.treeDataObj //传入一个可监听的对象
};
},
data() {
const that = this;
return {
treeDataObj: {
list: [] //传入一个可监听的对象 一个可监听的对象,那么其对象的 property 还是可响应的,实时监听改变
}, // 树node
},
methods: 接口获取值
this.treeDataObj.list = data[0].childList || [];
孙子组件:
grandSon:
inject: ['treeDataObj'],
watch: {
treeDataObj:{
handler: function(val, oldVal) {
this.treeDataList = val.list; // 接受从爷爷组件topic-edit 获取树list(实时监听获取,不要用延时,用户体验差)
},
immediate: true,
deep: true
}
},
data() {
return {
treeDataObj: this.treeDataObj, // 树列表 爷爷组件topic-edit获取
treeDataList: []
}