vue props传给子组件得不到值

父组件
data(){
mapArr:[],
}
proChange(params){
letmapArr;
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(newT.LngLat(mapArr.longitude,mapArr.latitude),mapArr.zoom);
},
mapPosition我在父组件改变mapArr的值子组件mapPosition这个方法不执行
函数式编程
浏览 718回答 2
2回答

慕慕森

父组件并没有改变myAttr呀,你重新let声明了一个。并且因为你在父组件是直接赋值呀,那子组件中的数组对象还是原来的对象,但是父组件由于重新赋值已经和原来的数组对象无关了。

犯罪嫌疑人X

在子组件中新加一个变量data(){proDataNew:''},mounted(){proDataNew=this.proData},watch:{proDataNew(){//todo}}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript