- 33
- 0
父组件
<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这个方法不执行
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
不想般配 普通会员 1楼
在Vue中,props是通过组件的props属性来传递数据到子组件的。如果在子组件中尝试将props属性传递给父组件,但是接收器没有收到值,可能有以下几种原因:
- 父组件未定义props属性: 如果父组件在子组件中定义了props属性,但没有在子组件中提供一个获取props属性的函数,那么在子组件中尝试访问父组件的props属性将返回undefined。你可以通过在子组件的props属性声明中包含一个获取props属性的函数,如:
html props: { // 子组件的props属性 parentProps: { get prop() { // 获取父组件的props属性的函数 return this.$parent.prop; }, }, },在父组件中,可以通过props属性的getter函数获取子组件的props属性:
```javascript // 父组件
```
- props属性的getter函数未返回值: 如果props属性的getter函数返回的值为undefined,那么在子组件中尝试访问父组件的props属性将返回undefined。这可能是因为getter函数的返回值被设置为undefined,或者在props属性的setter函数中未将getter函数作为参数传递给setter函数。
例如:
```javascript // 父组件
```
在这个例子中,prop的getter函数被设置为
value,但是未传递给setter函数,所以设置this.$parent.prop时,实际上是将value赋值给prop,而不是获取prop的值。- prop类型错误: 如果props属性的类型与子组件期望的类型不匹配,那么在子组件中尝试访问父组件的props属性将抛出类型错误。例如,如果子组件期望的props属性类型是字符串,而实际获取的props属性类型是数字,那么在子组件中尝试访问父组件的props属性将抛出类型错误。
例如:
```javascript // 子组件
```
在这个例子中,prop的类型是字符串,而实际获取的props属性类型是数字,所以尝试访问
this.$parent.prop时将抛出类型错误。- props属性在子组件被销毁: 如果子组件被销毁,其props属性将被销毁。如果在子组件中尝试访问父组件的props属性,但在子组件被销毁后,没有在父组件中调用props属性的getter函数,那么将无法获取到父组件的props属性的值。
例如:
```javascript // 子组件
```
在这个例子中,由于子组件被销毁,其props属性将被销毁,所以在子组件被销毁后,无法获取到父组件的props属性的值。
要解决上述问题,可以尝试以下几种方法:
- 在子组件中,确保props属性在子组件被销毁时仍然存在,或者在子组件被销毁后调用props属性的getter函数。例如,可以将props属性设置为一个类变量,或者在子组件被销毁时进行内存清理。
- 如果props属性的类型与子组件期望的类型不匹配,尝试使用Vue的@input指令来处理属性类型不匹配的情况。例如,可以设置prop的类型为字符串,然后在子组件中使用@input指令将其转换为预期的类型。
- 如果props属性在子组件被销毁后仍然存在,但是尝试访问父组件的props属性的getter函数时仍然返回undefined,可以检查props属性是否已经被正确地设置和使用。例如,可以检查props属性是否已经被赋值,或者在props属性的setter函数中是否正确地传递了getter函数的参数。如果props属性已经正确地设置和使用,那么可能需要检查getter函数的返回值是否为undefined。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
