(重要)介绍一个vue项目给大家学习,阅读别人的项目可以快速提高自己哦, 移动端vue完整项目
这里以vue-cli项目为例:
1,安装vuex cnpm isntall vuex --save或者vuex npm isntall vuex --save
2,配置:
(1)在src文件夹下创建文件夹store,在store再创建三个js文件,分别为:action.js,mutations.js,index.js
action.js 这里可以进行网络请求
-
- export default{
-
- addNum({ commit, state },my_parameter) {
- commit('ADD',my_parameter)
- }
- }
mutations.js 这里不许进行网络请求
- const ADD = 'ADD'
- export default{
-
- [ADD](state,my_parameter) {
- state.testdata = my_parameter
- }
- }
index.js
- import Vue from 'vue'
- import Vuex from 'vuex'
- import mutations from './mutations'
- import actions from './action'
- Vue.use(Vuex)
-
- const state = {
- testdata:'data1'
- }
- const store = new Vuex.Store({
- state,
- actions,
- mutations
- })
- export default store
main.js配置如下:
import store from './store/'
new Vue({
el: '#app',
router,
store,
template: '<App/>',
components: { App }
})
3,使用方法:待续
- <template>
- <div class="box">
- {{getdata}}
- <button type="button" @click='commit'>commit change data</button>
- <button type="button" @click='dispatch'>dispatch change data</button>
- </div>
- </template>
- <style scoped></style>
- <script type="text/javascript">
- export default{
- computed: {
- getdata () {
- // get store data
- return this.$store.state.testdata
- }
- },
- methods:{
- commit:function (){
- // change store data 这是比较直接(但也属于间接更改)的更改,注意这个方法不会调用action里的方法
- this.$store.commit('ADD','commit string')
- },
- dispatch:function(){
- // 这个方法则会执行action.js文件里面的方法,不过在vuex2.0版本里推荐使用commit方法来进行操作
- this.$store.dispatch('ADD','dispatch string')
- }
- }
- }
- </script>