- 发布:2022-01-06 15:35
- 更新:2022-01-07 11:24
- 阅读:774
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: 正式
HBuilderX版本号: 3.3.5
手机系统: 全部
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
测试过的手机:
操作步骤:
直接粘贴即可复现
直接粘贴即可复现
预期结果:
期望子组件可以获取到父组件传递的数据
期望子组件可以获取到父组件传递的数据
实际结果:
子组件接收到的值为undefined,支付宝小程序和微信小程序都可以接收到数据,安卓APP和iosAPP无法接收
子组件接收到的值为undefined,支付宝小程序和微信小程序都可以接收到数据,安卓APP和iosAPP无法接收
bug描述:
index.vue文件
<template>
<view class="home">
<HomeList type="home" :list="list" />
</view>
</template>
<script>
import { HomeList } from "@/components/homeList";
export default {
components: { HomeList },
data() {
return {
list: [{
id: 1,
name: '测试123'
}],
};
},
}
</script>
components文件下的homeList.vue
<template>
<view :style="type == 'seek' ? 'margin-top: 80rpx' : ''">
<!-- 这里type 和 list 显示都是undefined -->
<view>{{ type }}</view>
<view>{{ list }}</view>
</view>
</template>
<script>
export default {
name: "home-list",
props: {
list: {
type: Array,
default: [],
required: true,
},
type: {
type: String,
default: "home",
required: true,
},
},
data() {
return {};
},
mounted() {
console.log("-----------------------"); //这里没有打印出来
},
watch: {
list: {
handler(newName, oldName) {
console.log("++++++++++++++++++++++"); //这里也没有打印出来
console.log(newName);
},
immediate: true,
deep: true,
},
},
</script>
贴回去看对不对,用 easycom,不用直接import 组件:
<template>
<view class="home">
<homeList type="home" :list="list" />
</view>
</template>
<script>
// import {
// HomeList
// } from "@/components/homeList/homeList";
export default {
// components: {
// HomeList
// },
data() {
return {
list: [{
id: 1,
name: '测试123'
}],
};
},
}
</script>
柴先生 (作者)
已解决,引入组件应该写成 import HomeList from "@/components/homeList"; 我把 { HomeList } 引起来了
2022-01-07 11:19