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

vuex-class

时间:2020-04-29 11:13:21      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:script   模块   def   表示   const   imp   lte   code   extend   

vuex-class使用

 

1.store目录

技术图片

 

 

2.store目录下的index.js

 

// index.js是所有模块注册文件

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

import user from ‘./model/user‘
Vue.use(Vuex)

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




// module目录下的user.js


const user = {
  state: {
    checked: ‘你好vuex‘
  },

  mutations: {

    ADD_USER (state, msg) {
      console.log(msg)
    }
  },

  actions: {
  }
}

export default {

  // 表示允许  使用namespaced方法使用该模块,必须有
  namespaced: true,
  ...user
}

 

 

3.在组件中使用

// 组件中

// 首先安装vuex-class

npm i vuex-class

<script>

import { Vue, Component } from ‘vue-property-decorator‘

import {
  namespace
} from ‘vuex-class‘

// user是我们注册的模块user
const someModule = namespace(‘user‘)

@Component({

  components: {

  },

  filters: {
    time (value) {
      return 1
    }
  }

})

export default class MyComponent extends Vue {

   // 使用数据或者方法,State构造函数接受要使用的属性名
  @someModule.State(‘checked‘) checked

  @someModule.Mutation(‘ADD_USER‘) ADD_USER
    
    created () {

        console.log(this.checked)
        
        // 调用Mutation中的ADD_USER方法
        this.ADD_USER()
    }
    
}
</script>

 

 

 

vuex-class

标签:script   模块   def   表示   const   imp   lte   code   extend   

原文地址:https://www.cnblogs.com/zxuedong/p/12800312.html

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