首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >指定Vue中数据值的类型(typescript)

指定Vue中数据值的类型(typescript)
EN

Stack Overflow用户
提问于 2020-11-04 06:29:02
回答 1查看 122关注 0票数 0

我仍然迷失在试图指定某个类型的数据属性的Vue (3) + Typescript中。我已经添加了一个.d.ts文件,但是没有用。我试着这样做:

代码语言:javascript
复制
import Modeler from 'bpmn-js/lib/Modeler'
...
data() {
    return {
        modeler: {} as InstanceType<typeof Modeler> // ?????
    },
}
...
methods: {
    do() {
        this.modeler.importXML(someXML)
    },
}
...

这将导致:

代码语言:javascript
复制
'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实例,一切都会正常工作:

代码语言:javascript
复制
methods: {
    do() {
        const modeler = new Modeler({container: '#modeler'})
        modeler.importXML(someXML)
    },
}

我已经将模块声明为bpmnjs.d.ts中的模块

代码语言:javascript
复制
// bpmnjs.d.ts
declare module 'bpmn-js/lib/Modeler'

你知道我哪里做错了吗?

EN

回答 1

Stack Overflow用户

发布于 2020-11-05 00:48:31

终于让它工作起来了:

代码语言:javascript
复制
data() {
    return {
        modeler: markRaw({} as InstanceType<typeof Modeler>)
    }
}
...
mounted() {
    this.modeler = markRaw(new Modeler({container: '#modeler'}))
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64671636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档