<!-- src/components/MyMap.vue -->
<template>
<MyMarker />
</template>
<script>
import { provide } from 'vue'
import MyMarker from './MyMarker.vue'
export default {
components: {
MyMarker
},
setup() {
provide('location', 'North Pole')
provide('geolocation', {
longitude: 90,
latitude: 135
})
}
}
</script>
<!-- src/components/MyMarker.vue -->
<template>
{{userLocation}}-{{userGeolocation}}
</template>
<script>
import { inject } from 'vue'
export default {
setup() {
const userLocation = inject('location', 'The Universe')
const userGeolocation = inject('geolocation')
console.log(userLocation, userGeolocation)
return {
userLocation,
userGeolocation
}
}
}
</script>
- 发布:2021-11-24 17:24
- 更新:2022-01-22 14:25
- 阅读:4017
产品分类: uniapp/小程序/微信
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: Mac big sur 11.6.1
HBuilderX类型: Alpha
HBuilderX版本号: 3.2.15
第三方开发者工具版本号: 1.05.2110290
基础库版本号: 2.21.0
项目创建方式: HBuilderX
示例代码:
操作步骤:
使用上述代码打印console.log(userLocation, userGeolocation)
使用上述代码打印console.log(userLocation, userGeolocation)
预期结果:
console.log(userLocation, userGeolocation)正常打印出provide提供的值
console.log(userLocation, userGeolocation)正常打印出provide提供的值
实际结果:
打印console.log(userLocation, userGeolocation)打印结果为undefined
打印console.log(userLocation, userGeolocation)打印结果为undefined
bug描述:
uni-app vue3 微信小程序端 不支持provide和inject, 打印inject后的结果为undefined,在ide开发工具上有警告提示[Vue warn]: injection "xxx" not found. at <Index vueId="" vueSlots= [] >, 而且在真机上微信小程序会直接报错
0veUI - 前端开发、UID、UED
小程序中 provide和inject 传参正常,就是调试器有每个参数的飘红信息 如:[Vue warn]: Injection "bg" not found
found in ---> …
把我这强迫症搞得蓝瘦屎… 感觉再大的姨妈巾都止不住的样子!
sonicsunsky (作者)
都是最新的版本呢
2021-11-25 13:53
132liyh
回复 sonicsunsky: 就是最新的不行
2021-11-29 09:24
132liyh
回复 sonicsunsky: "vue": "^3.0.0",
"vuex": "^4.0.0"
试试这个版本的
2021-11-29 09:25
sonicsunsky (作者)
回复 1***@sina.com: 是使用Hbuildx直接创建的vue3项目,没有使用cli创建,使用的应该是hbuilderx内置的vue3版本
2021-11-29 11:25