如何解决在Vue中指定数据值的类型打字稿
我仍然迷失在Vue(3)+ Typescript中,试图指定某种类型的数据属性。我添加了.d.ts
文件,但无济于事。我正在尝试:
import Modeler from 'bpmn-js/lib/Modeler'
...
data() {
return {
modeler: {} as InstanceType<typeof Modeler> // ?????
},}
...
methods: {
do() {
this.modeler.importXML(someXML)
},}
...
结果是:
'get' on proxy: property '$pkg' is a read-only and non-configurable data property on the proxy target but the proxy did not return its actual value (expected '#<Object>' but got '[object Object]')
如果我在Modeler
中定义methods
实例,则一切正常:
methods: {
do() {
const modeler = new Modeler({container: '#modeler'})
modeler.importXML(someXML)
},}
我已将模块声明为bpmnjs.d.ts
:
// bpmnjs.d.ts
declare module 'bpmn-js/lib/Modeler'
知道我在做什么错吗?
解决方法
最终使其正常工作:
data() {
return {
modeler: markRaw({} as InstanceType<typeof Modeler>)
}
}
...
mounted() {
this.modeler = markRaw(new Modeler({container: '#modeler'}))
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。