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

用vuex管理组件状态的时候,什么地方用data,method,什么地方用state,mutation,actions,有点乱了

慕沐林林
浏览 596回答 1
1回答

蝴蝶刀刀

vuex 其实,通俗点理解就是个全局命名空间。也就是个全局变量。那么挂到vuex 里面的action,state 也就是全局都可用。一般我们在写组件的时候(其实是业务组件,功能组件很少用vuex),搞清楚当前业务组件有方法或者数据需要传递到其TA组件去吗?举个例子:有这么一个场景。假定 有个管理系统,有公共的登陆模块、登陆后跳转的业务模块。那么登陆模块的定义就会是这样的。// 登陆模块const state = {&nbsp; &nbsp; user: { } // 存储用户信息}const action = {&nbsp; &nbsp; login()&nbsp; &nbsp;{ ... }&nbsp; &nbsp;// 调用API登陆}&nbsp; &nbsp;const mutation = {&nbsp; &nbsp; setLogin(state, user){&nbsp; &nbsp; &nbsp; &nbsp; state.user = user&nbsp; &nbsp; }}这样定义,login(),user 可以在任何想要调用的地方调用。如果是这类方法,我们就应该定义到vuex 里面。反之,如果你的属性只是为了在当前组件内部用,例如:<div v-if="isShow">&nbsp; &nbsp; show...</div><button @click="toggle">切换</button>export default{&nbsp; &nbsp; data(){&nbsp; &nbsp; &nbsp; &nbsp; return { isShow: false }&nbsp; &nbsp; },&nbsp; &nbsp; method: {&nbsp; &nbsp; &nbsp; &nbsp; toggle(){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; this.isShow =&nbsp; !this.isShow&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript