蔡佳峰*_*蔡佳峰 2 javascript vue.js nuxt.js
这对我来说是一个长期存在的问题,假设我有一个父组件和子组件。
// parent
<div>
// passing a dynamic value
<child :param="timestamp"/>
</div>
// Child
props: {
param: {
type: Number,
required: true,
}
},
Run Code Online (Sandbox Code Playgroud)
当参数值传递给子组件时,它应该通过验证。
但是,它显示错误
type check failed for prop "param". Expected Number, got String.
如果我将类型更改为String,它仍然显示错误,但以相反的方式
type check failed for prop "param". Expected String, got Number.
希望知道如何解决这个问题,谢谢。
=================================================== =======================
抱歉,在第一个示例中没有很好地解释。
因此,在我的代码库中,我将变量传递给子组件,值的类型始终是Number,假设它是一个时间戳,所以当我传递该值时,总是出现不一致的错误,这真的让我很困惑。
同时,我使用v-bind因为我将动态变量传递给子组件。
我遇到了同样的问题,只是通过在 prop 定义中传递两种可能性来解决它,所以而不是
props: {
myprop: Number,
[..]
}
Run Code Online (Sandbox Code Playgroud)
我说可能两者兼而有之:
props: {
myprop: [String, Number],
[..]
}
Run Code Online (Sandbox Code Playgroud)
我意识到如果 prop 值必须完全属于某种类型,这可能不是一个干净的解决方案,但我想我还是把它留在这里。
| 归档时间: |
|
| 查看次数: |
5633 次 |
| 最近记录: |