盼儿哥 2022-06-01 13:16 采纳率: 60%
浏览 153
已结题

vue3组合api开发方式,想将props 内容独立放到一个js文件中,但是在import后获取不到

vue3组合api开发方式,想将props 内容独立放到一个js文件中,但是在import后获取不到
问题相关代码
//props.js
import { defineProps } from 'vue'

const props = defineProps({
    apiData: {
        type: Array,
        default: () => {
            return []
        }
    }
})

export default props
//index.vue
<template></template>
<script setup>
import props from './props'

//按钮的点击事件
const handleTest = ()=> {
  console.log(props.apiData) //这里会报错:Cannot read properties of null (reading 'apiData')
}

</script>
我想要达到的结果

将props, emits 可以独立放到一个js文件中,在xx.vue内import进来,不然xx.vue内的代码会非常多

  • 写回答

2条回答 默认 最新

  • 上官熊猫 2022-06-01 16:57
    关注

    defineProps必须要放在setup里面才可以,我们可以换个思路,只将参数提出在一个独立文件中,解决方法如下:

    // props.js
    export default {
      apiData: {
        type: Array,
        default: () => {
          return [];
        },
      },
      name: {
        type: String,
      },
    };
    
    //index.vue
    <template>
      <div class="User">index.vue页面</div>
      <button @click="handleTest">点击获取props</button>
    </template>
    
    <script setup>
    import propsData from "./props";
    const props = defineProps(propsData);
    console.log(props);
    //按钮的点击事件
    const handleTest = () => {
      console.log(props.apiData);
    };
    </script>
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月14日
  • 已采纳回答 6月6日
  • 创建了问题 6月1日

悬赏问题

  • ¥15 Stata链式中介效应代码修改
  • ¥15 latex投稿显示click download
  • ¥15 请问读取环境变量文件失败是什么原因?
  • ¥15 在若依框架下实现人脸识别
  • ¥15 添加组件无法加载页面,某块加载卡住
  • ¥15 网络科学导论,网络控制
  • ¥100 安卓tv程序连接SQLSERVER2008问题
  • ¥15 利用Sentinel-2和Landsat8做一个水库的长时序NDVI的对比,为什么Snetinel-2计算的结果最小值特别小,而Lansat8就很平均
  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用