美文网首页
vue+vuex组件化实践

vue+vuex组件化实践

作者: adtk | 来源:发表于2017-07-03 17:08 被阅读0次

vuex:我的简单理解就是 ‘在各个组件中共享数据’

此项目是基于vue-cli的webpack的简单例子

//main.js
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)  //装载vuex
import App from './App.vue' //组件
const store = new Vuex.Store({//定义在vue实例化之前
  state: {  //状态,就是需要共享的数据,备注一
    count: 0
  },
  mutations: {  //改变store 中状态(数据)的唯一方法是 调用 mutations中定义的方法
    increment (state,data) {//备注二
      state.count++;
      console.log(store.state.count)
    },
    increment2 (state,data) {//state就是store中的state(不用理会),data是传进来的值
      state.count++;
      console.log(store.state.count)
    }
  }
})

//实例化vue
new Vue({
  el: '#app',
  store,  //若要在子组件中使用vuex,添加此属性store:store
  render: h => h(App)
})

备注一:在组件中获取state中的值,需要vue计算属性,在html中直接用属性{{count}}
下面第二张图在组件中需要: import { mapState } from 'vuex'

挨个引入共享属性 将需要引入的属性加入数组

备注二:
普通提交mutation使用方法:store.commit('increment',data);'increment'是mutations中的方法名,data是传进去的值
在.vue的等组件中使用,需要vue实例化时添加store属性,
在组件中调用方法见下图
下面第二张图需要: import { mapMutations } from 'vuex'

在组件中用的方法 多个mutation或者多出调用时使用更简单的
// 组件App.vue
<template>
    <div id="app2"><!--只能一个根元素-->
        <div v-on:click="click_a" class="hello">hello {{msg}}</div>
        <div>{{count}}</div>
    </div>
</template>
<script>
import { mapMutations } from 'vuex'
export default {
    data() {
        return {
            msg: "Vue",
        }
    },
    methods: {
        ...mapMutations(["increment"]),
        click_a() {
            this.increment()
             //   this.$store.commit('increment');
        }
    },
    computed: {
        count() {
            return this.$store.state.count
        }
    }
}
</script>

<style>
.hello {}
</style>

问题:
1,遇到 转译:‘...’失败问题
npm install babel-preset-stage-0
在.babelrc文件presets中添加stage-0,

{
  "presets": ["stage-0"]
}```

此文记录我学习的两个重要的基本用法,

原文:https://vuex.vuejs.org/zh-cn/state.html

相关文章

  • vue+vuex组件化实践

    vuex:我的简单理解就是 ‘在各个组件中共享数据’ 此项目是基于vue-cli的webpack的简单例子 备注一...

  • iOS组件化实践(基于CocoaPods)

    iOS组件化实践(基于CocoaPods) iOS组件化实践(基于CocoaPods)

  • 组件化实践详解(二)

    在上一篇文章《组件化实践详解(一)》中我们介绍了组件化实践的目标和实践步骤,本文继续说说关于组件化实践遇到的问题及...

  • 蜂鸟商家版 iOS 组件化 / 模块化实践总结

    蜂鸟商家版 iOS 组件化 / 模块化实践总结 蜂鸟商家版 iOS 组件化 / 模块化实践总结

  • ios 组件化

    参考 iOS 组件化实践《二》基于现有项目拆分组件化实践 在现有工程中实施基于CTMediator的组件化方案 i...

  • 组件化方案

    组件化方案引用 在现有工程中实施基于CTMediator的组件化方案 iOS组件化实践(一):简介 iOS组件化实...

  • iOS组件化储备

    资料 组件化/模块化 蜂鸟商家版 iOS 组件化 / 模块化实践总结 模块化与解耦 浅析 iOS 应用组件化设计 ...

  • Android 组件化开发实践

    Android组件化开发实践(一):为什么要进行组件化开发?Android组件化开发实践(二):组件化架构设计An...

  • iOS 组件化/模块化文章

    1.博客文章总结 iOS组件化思路-大神博客研读和思考iOS组件化实践方案-LDBusMediator炼就组件化架...

  • 《iOS组件化》组件化实践

    前述 体验过牵一发而动全身,编译5分钟之后,每次发版本都要被测试一顿臭骂之后。组件化的心愈发强烈。casa 的《i...

网友评论

      本文标题:vue+vuex组件化实践

      本文链接:https://www.haomeiwen.com/subject/vfczcxtx.html