我仍然迷失在试图指定某个类型的数据属性的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]')如果我在methods中定义Modeler实例,一切都会正常工作:
methods: {
do() {
const modeler = new Modeler({container: '#modeler'})
modeler.importXML(someXML)
},
}我已经将模块声明为bpmnjs.d.ts中的模块
// bpmnjs.d.ts
declare module 'bpmn-js/lib/Modeler'你知道我哪里做错了吗?
发布于 2020-11-05 00:48:31
终于让它工作起来了:
data() {
return {
modeler: markRaw({} as InstanceType<typeof Modeler>)
}
}
...
mounted() {
this.modeler = markRaw(new Modeler({container: '#modeler'}))
}https://stackoverflow.com/questions/64671636
复制相似问题