我想要实现的是记录具有“对象”类型的属性,例如
props: {
foo: {
type: Object,
required: true
}
}
现在这个对象foo
可以并且将会有多个条目,其中一些是强制性的,而另一些则是可选的。例如
<my-component
:foo="{
mandatoryItem1: 'bar',
mandatoryItem2: {
mayBeEvenNested: true
},
optionalItem1: 'baz',
...
}"
/>
问题是在使用该属性时,您必须检查组件的源代码以了解哪些条目必须存在于该属性中。虽然使用 typescript 也可以消除这个问题,但我们现在不能切换到 TS,所以我们必须使用 jsDoc 来代替。我们希望以正确的方式做到这一点。
在记录函数及其参数时,您可以像这样(或类似的东西)描述嵌套参数对象:
/**
* @param bar {Object} object containg...
* @param bar.mandatoryItem1 {String} ...
* @param bar.mandatoryItem2 {Object} ...
* @param bar.mandatoryItem2.mayBeEvenNested {Boolean} ...
*/
function foo(bar) {
}
我怎样才能为 vue 属性做同样的事情或类似的事情?
理想情况下,我们希望将来使用像 vue-styleguidist 这样的东西,以便使用 jsDoc 为我们的组件自动生成文档,因此使用“正确”的语法很重要。
PS:我们希望对“数组”类型的属性也一样,即描述数组中的对象的外观。