$t.mixin.js 777 B

12345678910111213141516171819202122232425262728
  1. import { mapState } from 'vuex'
  2. import store from '@/store'
  3. // 尝试将用户在根目录中的store/index.js的vuex的state变量加载到全局变量中
  4. let $tStoreKey = []
  5. try {
  6. $tStoreKey = store.state ? Object.keys(store.state) : []
  7. } catch(e) {
  8. }
  9. module.exports = {
  10. beforeCreate() {
  11. // 将vuex方法挂在在$t中
  12. // 使用方法:
  13. // 修改vuex的state中的user.name变量为图鸟小菜 => this.$t.vuex('user.name', '图鸟小菜')
  14. // 修改vuexde state中的version变量为1.0.1 => this.$t.vuex('version', 1.0.1)
  15. this.$t.vuex = (name, value) => {
  16. this.$store.commit('$tStore', {
  17. name, value
  18. })
  19. }
  20. },
  21. computed: {
  22. // 将vuex的state中的变量结构到全局混入mixin中
  23. ...mapState($tStoreKey)
  24. }
  25. }