vue组件当中data函数里面的数据怎么调用?

发布于 2022-09-05 04:15:34 字数 498 浏览 31 评论 0

在vue组件化开发当中,我有一个组件没有在其他地方引用,只是通过vue-router的<router-view>路由出口渲染到页面,可以渲染成功,但是data里面的数据在methods里面不能调用,是没有创建实例吗?大概就是想写一个方法,以下是代码:

export default {
    data () {
        return {
            on_off:false
        }
    },
    methods:{
        isOnOff:()=>{
            this.on_off = !this.on_off;
        }
    }
}

点击后提示'on_off' of undefined

直接写成 on_off = true; 也报错提示 on_off is not defined
还有就是export导出之后,一定要在其他地方import才可以吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

心舞飞扬 2022-09-12 04:15:34

应该是箭头函数的问题,箭头函数会导致作用域穿透,所以在箭头函数里的this并非指代当前的Vue实例,建议使用ES5语法isOnOff: function() {}或者ES6语法isOnOff() {}代替。

迷爱 2022-09-12 04:15:34

应该是箭头函数的问题。你可以将this打出来看一下。
相关的可以去查一下箭头函数的this,然后我记得官方文档里也有说明。

梦回旧景 2022-09-12 04:15:34
methods:{
isOnOff(){
        this.on_off = !this.on_off;
    }
}

这样写就好了

浅听莫相离 2022-09-12 04:15:34

https://cn.vuejs.org/v2/api/#...
不应该使用箭头函数来定义 method 函数 。
箭头函数绑定了父级作用域的上下文,所以 this 将不会按照期望指向 Vue 实例。
用官方示例写methods就好了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文