首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Options未定义Vue3数据变量/对象

使用Options未定义Vue3数据变量/对象
EN

Stack Overflow用户
提问于 2021-07-11 12:03:36
回答 1查看 442关注 0票数 0

我正在使用Vue2,并将我的项目重构为使用Vue3

做了该做的一切,但不能与data() {..}交互

下面是data设置:

代码语言:javascript
运行
复制
data() {
    return {
        rules: {
            first: 1,
            second: 2,
            third: 3,
        },
        // ... and more variables & objects
    }
    
}

,我正在设置变量& data中的对象,有些是常量,另一些是方法中的更改。

并使用data

template

代码语言:javascript
运行
复制
<input type="file"
    @change="changeEvent"
    :multiple="this.rules.first > 1"
/>

methods

代码语言:javascript
运行
复制
changeEvent() {
    if(this.rules.first == 1) { //.. do something }
}

Options APIVue2的工作相同。

但是在升级到Vue3之后,在console中得到了这个error

代码语言:javascript
运行
复制
Uncaught (in promise) TypeError: Cannot read property 'rules' of undefined

此外:

代码语言:javascript
运行
复制
[Vue warn]: Unhandled error during execution of setup function
[Vue warn]: Unhandled error during execution of scheduler flush.

也适用于在variables中定义的所有objectsdata()

我在Vue3中读到了有关Vue3的信息,也许我可以使用它,但现在我正试图挽救这个项目的生命。

我还读到,我仍然可以使用Options APIVue3

那么,为什么相同的Options API代码不能工作呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-11 12:26:00

您不应该在模板中使用this

代码语言:javascript
运行
复制
<input type="file"
    @change="changeEvent"
    :multiple="rules.first > 1"
/>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68336039

复制
相关文章

相似问题

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