此功能解决了什么问题?
具有多个属性的组件可能在最不合适的时机失败属性验证:分配一个属性将触发所有 function initProps (vm, propsOptions)
的属性验证。堆栈跟踪将显示问题是由分配特定属性 "prop1" 触发的,而实际上验证会在 "prop2" 上失败。如果这与组件实际首次渲染(即 "prop1" 是触发器)结合在一起,就不清楚哪个属性实际上失败了。
在我的情况下,报告的错误消息是:
[Vue warn]: Invalid prop type: "[object Object]" is not a constructor
这是来自方法 function assertType (value, type, vm)
为了澄清我收到的实际新手错误消息:我指定了 prop 类型为一个用 Object.freeze 声明的 "enum" 类。实际值当然是 Number。
建议的 API 是什么样子的?
将其中添加 prop 名称到消息中会更清晰:
[Vue warn]: Invalid prop "propName" type: "[object Object]" is not a constructor
这将需要在 assertType
中添加 propName
(或仅添加 name
)参数,以便能够将其包含在消息中
1条答案
按热度按时间ru9i0ody1#
你好,它还开着吗?我很想在这里工作。