父组件
<index-map map-name="index-map" :pro-data="mapArr" :maker-data="listData" :marker-id.sync='markerId' :apply-flag.sync="statusModal" @marker-tap="markerTap"></index-map>
data() {
mapArr:[],
}
proChange(params){
let mapArr;
this.prolistData.forEach((item, i) => {
if (item.areaid == this.params.proid) {
mapArr = item;
}
});
console.log("mapArr",mapArr);
},
子组件
props: ["makerData", "markerId", "mapName","proData", "applyFlag"],
watch: {
proData: function(val, oldVal) {
console.log("====41",val);
if (val) {
this.mapPosition(this.proData);
}
},
},
mapPosition(mapArr) {
console.log(mapArr);
this.map.centerAndZoom(new T.LngLat(mapArr.longitude, mapArr.latitude), mapArr.zoom);
},
mapPosition 我在父组件改变mapArr 的值子组件mapPosition这个方法不执行
父组件并没有改变myAttr呀,你重新let声明了一个。
并且因为你在父组件是直接赋值呀,那子组件中的数组对象还是原来的对象,但是父组件由于重新赋值已经和原来的数组对象无关了。