【发布时间】:2021-01-04 01:35:21
【问题描述】:
如果没有将 prop 传递给我的功能组件,我想定义一个默认值。 这个默认值是一个环境变量。
当我尝试以下操作时,编译会抛出错误TypeError: Cannot read property 'env' of undefined
<template functional>
<div class="header__small">{{ props.header_small ? props.header_small : process.env.VUE_APP_DEFAULTHEADER }}</div>
</template>
如果我尝试使用parent.process.env.VUE_APP_DEFAULTHEADER,也会发生同样的情况
env 变量在应用程序中的所有其他经典组件中都可以正常工作。它只是不适用于功能性的。 如果我将任何其他值传递给三元运算符来定义默认值,也可以很好地工作,而不是 process.env。
【问题讨论】:
-
我知道这听起来像是一个陈词滥调的 StackOverflow 答案,但功能组件的制作也正是出于这个原因,无状态。使
process变量起作用的原因是在data、computed中定义它或在methods中返回它,它们不存在于功能组件中,无状态。跨度> -
这实际上是一个很好的答案。我不认为我不能在任何模板中直接访问进程,您只能在组件的脚本部分使用它们。好吧,这是一种耻辱。请将其发布为答案,以便我将您标记为已接受的答案!
标签: vue.js environment-variables vue-component vue-functional-component