【后台管理系统】Vuex实现简单组件间通信

Vuex是组件间通信的一种方式,可以实现任意组件间的通信。

官方文档:开始 | Vuex (vuejs.org)icon-default.png?t=N7T8https://vuex.vuejs.org/zh/guide/

Vuex应用的核心其实就是一个共享的仓库store,在store.state中储存你需要修改的状态,在mutation中储存修改状态的方法,再使用commit提交修改方法。如果需要进行异步操作即可以通过action中来分发mutations,如果只进行简单的不包含异步操作我们则可以直接commit。

本项目中我们简单的使用vuex实现点击header组件的按钮修改aside组件的状态(收起和展开侧边栏。

其实就是header组件与aside组件间通信,下面我们一步步用vuex实现:

第一步、引入vuex并创建store实例

npm或者yarn引入vuex,@后加版本号可以引入特定版本的vuex,我引入的是3.6.2,在控制台输入如下命令就行。

npm install vuex@3.6.2
yarn add vuex@next --save

在项目中创建store文件夹专门用于储存vuex相关代码,store/index.js中配置,为避免单一状态树冗长,在项目中将store分割成几个modules,在index.js中引入tab.js模块就行了

index.js

import Vue from "vue";
import Vuex from "vuex"
import tab from '@/store/tab'

Vue.use(Vuex)

export default new Vuex.Store({
	modules: {
		tab,
	}
})

tab.js

export default {
	state: {
		isCollapse: false,
	},
	mutations: {
		
		}
	}
}

如果依赖的状态少,直接在index.js配置如下:

import Vue from 'vue'
import Vuex from 'vuex'
 
Vue.use(Vuex)
 
export default new Vuex.Store({
//共享的需要修改的数据或状态
  state: {
    
  },
//对store中的数据进行加工
  getters: {
    
  },
//修改数据和状态的方法
  mutations: {
    
  },
//进行异步操作,在action中提交mutations
  actions: {
    
  },
//Vuex允许我们将 store 分割成模块(module)
//每个模块拥有自己的 state、mutation、action、getter
  modules: {
    
  },
})

在main.js中引入

import Vue from 'vue'
import App from './App.vue'
import store from '@/store/index'//引入

Vue.config.productionTip = false

new Vue({
	store,//
	render: h => h(App),
}).$mount('#app')
第二步、写入需要修改的状态与修改方法

侧边栏的展开与收起是通过 :collapse="isCollapse" 中 isCollapse 这一属性的ture和false来决定的,所以需要点击按钮需要修改的状态就是 isCollapse ,将其写在state中即可,而修改的方法就是点击按钮就将 isCollapse 进行取反就行,将修改方法CollapseMenu写入mutation中即可:

export default {
	state: {
		isCollapse: false,
	},
	mutations: {
		CollapseMenu(state) {
			state.isCollapse = !state.isCollapse
		}
	}
}
第三步、在header组件中定义点击事件

点击header组件中的button按钮就可以修改侧边栏状态,所以我们要在button上绑定点击事件:

 @click="hanleMenu"

在methods中定义handleMenu事件,因为我们在main.js中将store挂载,所以我们可以直接$store提交修改isCollapse的方法hanleMenu。

	methods: {
		hanleMenu() {
			this.$store.commit('CollapseMenu')
		}
	}
第四步、完善aside组件中逻辑

之前在aside组件中我们是直接将isCollapse属性写死成false:

:collapse="isCollapse"
isCollapse: false//需删除

但是现在需要通过tab中的isCollapse来动态获取其属性,所以我们要在computed中完善,之前写死的isCollapse属性也要删除:

	computed: {
			isCollapse () {
				return this.$store.state.tab.isCollapse
			},
		}

这样我们就使用Vuex简单的实现了组件间通信。Vuex还有其他核心概念与api等,这里只是简单的使用了一下Vuex,更多功能可以去官方文档中查阅~

  • 22
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Vue是一款开源的JavaScript框架,用于构建用户界面。它采用了组件化的开发模式,使得开发者可以将页面拆分成独立的组件进行开发和管理,提高了代码的复用性和可维护性。 PHP是一种广泛应用于Web开发的脚本语言,它可以与前端页面进行数据交互,提供动态的网页内容。PHP具有易学易用的特点,广泛应用于后台开发、数据库管理、文件操作等方面。 简易后台管理系统源码是一个基于Vue和PHP开发的后台管理系统的示例代码。该源码的主要功能包括用户登录、权限管理、数据展示和数据编辑等。通常情况下,后台管理系统用于管理网站的后台数据、用户信息、权限管理等,可以方便地对网站进行管理和操作。 该源码通过Vue组件化开发模式,将各个功能模块拆分成独立的组件,使得代码结构清晰,易于维护。前端采用Vue的数据绑定和响应式机制,实现了数据的实更新和页面的动态展示。后台采用PHP处理数据请求,与数据库进行交互,实现了用户登录验证、权限管理和数据的增删改查等功能。 简易后台管理系统源码可以作为初学者学习Vue和PHP的参考代码,帮助他们了解前后端交互的原理和实现方式。同,该源码也可以作为基础框架,根据实际需求进行二次开发,添加更多的功能模块和业务逻辑。 总之,Vue和PHP简易后台管理系统源码提供了一个基于Vue和PHP的后台管理系统的示例,帮助开发者学习和理解前后端开发的基本原理和方法。通过学习和使用该源码,开发者可以更好地开发和管理自己的网站和应用程序。 ### 回答2: Vue+PHP简易后台管理系统源码是一种使用Vue作为前端框架,PHP作为后端语言的一种简易后台管理系统源码。该源码主要包含了前端页面和后端接口的代码。前端页面使用Vue进行组件化开发,通过Vue的数据绑定和组件通信实现页面的动态渲染和交互效果。后端接口使用PHP编写,用于处理前端页面发送过来的请求并返回相应的数据。 该后台管理系统源码实现了一些常见的后台管理功能,如用户管理、权限管理、数据展示等。用户管理模块包括用户列表、添加用户、修改用户信息、删除用户等功能;权限管理模块包括角色管理、权限分配等功能;数据展示模块则包括数据列表展示、数据搜索、数据分页等功能。 Vue+PHP简易后台管理系统源码的优势在于前端使用了Vue框架进行开发,具有良好的代码结构和扩展性,可以方便地进行二次开发和定制化;后端使用PHP作为脚本语言,具有广泛的应用和开发基础,易于上手和维护。 总体而言,该源码提供了一个简单、易用的后台管理系统基础框架,帮助开发者快速搭建后台管理系统,并且可以根据具体需求进行扩展和定制。 ### 回答3: Vue是一种流行的JavaScript框架,而PHP是一种流行的后端编程语言。结合这两种技术,我们可以创建一个简易的后台管理系统。 首先,我们需要搭建一个基本的前端界面。我们可以使用Vue框架来构建这个界面,它提供了丰富的组件和工具,方便我们进行界面的开发和管理。我们可以使用Vue的CLI工具来创建一个新的项目,并且使用Vue Router来管理不同页面之间的导航和跳转。 接下来,我们需要使用PHP来实现后台的功能。PHP提供了强大的后端处理能力,我们可以使用它来处理表单提交、数据库操作和文件上传等常见的后端任务。我们可以通过编写后端接口来实现这些功能,并且使用PHP的框架如Laravel或CodeIgniter来简化开发过程。 在前端界面中,我们可以使用Vue的Axios库来发送HTTP请求,与后端进行数据交互。通过发送GET、POST、PUT、DELETE等不同类型的请求,我们可以获取、创建、更新和删除后端的数据。这样,我们就可以实现一个完整的CRUD(创建Create、读取Read、更新Update、删除Delete)系统。 最后,我们可以使用一些其他的Vue库来增强我们的后台管理系统。比如,我们可以使用Vue-Router来实现页面的动态加载和权限控制;使用Element UI或Vuetify来美化和优化我们的界面;使用Vuex管理前端状态和数据流。这些库都是为了方便我们开发和管理后台系统而设计的。 总的来说,Vue和PHP的结合可以帮助我们创建一个简易的后台管理系统。通过前后端的配合,我们可以实现用户界面的开发和后端功能的实现,从而构建出一个完整的系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值