- 16
- 0
现有一个父组件和一个子组件,
在父组件中,从数据库获取了一个数据,存入了一个map中,
然后将这个数据props给子组件,子组件是一个地图,在生命周期mounted上面直接初始化地图以及使用了props的属性来加载mark点。
但是发现地图加载了,mark点没有加载,最后发现,是由于子组件mounted初始化的时候,props的属性还没有数值。
这个问题怎么解决:
父组件 从数据库获取数据
/* 从数据库获取初始设备位置数据*/
async initWzDataFromServer() {
let data = await getInitData() || []
data.result.map(item => {
this.wzSocket.set(item.deviceSn, item)
})
},
传递给子组件
<MapMark :initWzData="wzSocket"/>
子组件获取props
init() {
this.initMap()
this.initMarkerData()
},
mounted() {
this.init()
},
希望各位可以帮帮忙
补充这是watch
watch: {
/* 如果initWzData更新了那么就重新标记点*/
localWzData: function (newValue) {
this.initMarkerData()
// for (let value of newValue.values()) {
// console.log(value)
// }
}
},
这是data
data() {
return {
map: null,
localWzData: this.initWzData
}
}, 0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
小秋林 普通会员 1楼
在 Vue 中,你可以通过 prop 的方式来传递数值。子组件需要获取到这个 prop 的值,可以通过
this.$emit('input', value)或者this.$emit('input', value)来触发这个事件。但是,你也可以直接通过
value属性来传递数值,不需要使用 prop。子组件可以直接使用value属性来获取这个数值。下面是一个简单的例子:
```html
{{ inputValue }}
```
在这个例子中,父组件通过
v-model绑定了一个输入框和一个 p 元素,输入框的值通过inputValue属性传递,然后子组件通过v-model绑定了一个输入框和一个 p 元素,输入框的值直接通过value属性获取。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

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

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

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

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

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

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

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

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

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

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