为了账号安全,请及时绑定邮箱和手机立即绑定

用vuex管理组件状态的时候,什么地方用data,method,什么地方用

用vuex管理组件状态的时候,什么地方用data,method,什么地方用

慕沐林林 2018-11-16 14:15:20
用vuex管理组件状态的时候,什么地方用data,method,什么地方用state,mutation,actions,有点乱了
查看完整描述

1 回答

?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

vuex 其实,通俗点理解就是个全局命名空间。也就是个全局变量。那么挂到vuex 里面的action,state 也就是全局都可用。

一般我们在写组件的时候(其实是业务组件,功能组件很少用vuex),搞清楚当前业务组件有方法或者数据需要传递到其TA组件去吗?

举个例子:
有这么一个场景。假定 有个管理系统,有公共的登陆模块、登陆后跳转的业务模块。
那么登陆模块的定义就会是这样的。

// 登陆模块

const state = {

    user: { } // 存储用户信息

}

const action = {

    login()   { ... }   // 调用API登陆

}   

const mutation = {

    setLogin(state, user){

        state.user = user

    }

}

这样定义,login(),user 可以在任何想要调用的地方调用。
如果是这类方法,我们就应该定义到vuex 里面。

反之,如果你的属性只是为了在当前组件内部用,例如:

<div v-if="isShow">

    show...

</div>

<button @click="toggle">切换</button>


export default{

    data(){

        return { isShow: false }

    },

    method: {

        toggle(){

            this.isShow =  !this.isShow

        }

    }

}


查看完整回答
反对 回复 2018-12-07
  • 1 回答
  • 0 关注
  • 595 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号