码迷,mamicode.com
首页 > 其他好文 > 详细

vue-cli安装以及创建一个简单的项目(二)(vuex使用)

时间:2019-11-26 22:30:21      阅读:79      评论:0      收藏:0      [点我收藏+]

标签:mic   状态   需要   index   page   dex   code   路由   保存   

1.vuex的使用

  vuex是vue的状态管理中心,vuex来保存我们需要管理的状态值,值一旦被修改,所有引用该值的地方就会自动更新,常用于:

1.多个视图依赖同一状态(l例:菜单导航)

2.来自不同视图的行为需要变更同一状态(例如评论弹幕)

 

上篇创建的vue项目目录结构:

技术图片

 

 

  在上一节我们已经安装了vuex模块。查看store/index.js内容,如下:

import Vue from ‘vue‘;
import Vuex from ‘vuex‘;

Vue.use(Vuex);

export default new Vuex.Store({
  state: {
  },
  mutations: {
  },
  actions: {
  },
  modules: {
  },
});

  上面引入Vue模块和Vuex模块,并将Vuex安装到Vue中。

 

下面使用vuex。在Test路由中改变值,在about模块中接收,代码如下:

(1)修改store/index.js

import Vue from ‘vue‘;
import Vuex from ‘vuex‘;

Vue.use(Vuex);

export default new Vuex.Store({
  state: {
    count: 0,
  },
  mutations: {
    increase() {
      this.state.count = this.state.count + 1;
    },
  },
  actions: {
  },
  modules: {
  },
});

 

  定义一个状态count,mutations中是修改状态的唯一入口。

(2)修改Test.vue

<template>
  <div class="test">
      这是Test
      <button tybe="button" @click="addOne()">点击我</button>
  </div>
</template>

<script>
import store from ‘@/store‘;

export default {
  name: ‘Test‘,
  store,
  methods: {
    addOne() {
      console.log(‘add‘);
      store.commit(‘increase‘);
    },
  },
};
</script>

  点击按钮的时候调用方法addOne()。addOne()中调用store.commit("increase") 提交该方法进行修改状态,相当于调用 Vuex.Store 实例的 increase() 方法。

(3)修改About.vue接收状态count

<template>
  <div class="about">
    <h1>This is an about page</h1>
    {{msg}}
  </div>
</template>

<script>
import store from ‘@/store‘;

export default {
  name: ‘About‘,
  store,
  data() {
    return {
      msg: store.state.count,
    };
  },
};
</script>

 

(4)测试:

技术图片

 

vue-cli安装以及创建一个简单的项目(二)(vuex使用)

标签:mic   状态   需要   index   page   dex   code   路由   保存   

原文地址:https://www.cnblogs.com/qlqwjy/p/11938755.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!