Vuex 实现组件传值
Vuex 是什么?
Vuex 类似于一个“前端数据库”,让各个页面的数据实现共享。简单来说Vuex就像一个商店,各个页面需要什么数据就去商店找
如下:要实现两个页面的数据传值。
首页和城市列表页,当点击列表的某个城市,比如武汉,会跳转到首页,首页城市由上海更改为武汉。
具体实现:
(1)在src目录,新建一个store目录,store里再新建一个index.js文件
(2)在入口文件main.js中挂载 store,使store可以被全局访问
(3)终端下载vuex,并在store目录下的index.js文件中引入vuex
下载vuex:
npm install vuex --save
引入vuex:
(4)定义state属性存放需要的变量,这一步是为了实现点击首页城市按钮,跳转到城市列表页选择城市,触发一个action,执行mutation,从而改变state存放的变量值,页面会从state获取数据
(5)在首页写一个计算属性,接收state里的初始默认变量,变量会随着action的触发而改变
这里的 City,就是state里的变量,默认变量值为defaultCity,即首页的城市,最开始显示为北京
(6)在城市列表页使用Vuex里的mutations事件来修改state