vuex实践示例

前言

Vuex的文档翻了几遍,依然只会最简单的用法。对其更多的功能不太了解。这次因为重新开始一个前后端分离项目,我希望使用vue+typescript,这时就涉及到ts版的vuex,才发现自己vuex都不懂,如何ts化呢?于是再次从0开始学一遍vuex。

这次有个意外的发现,在Vuex官方文档 核心概念 - 项目结构 最后一行有句 请参考购物车示例,点击打开了github vuex项目,发现里面有很多examples.于是下载下来,一个一个学习。刚开始就是照抄代码。网上很多大神都说抄代码没用,但是对于没有更好的办法的我来说,目前抄代码是最可行的方式。

建议你们自行下载vuex项目,例子都在examples里面,https://github.com/vuejs/vuex

这篇文章我想做的是对照示例学习vuex概念。

 

准备工作

1.示例一 counter

先从最简单的示例counter开始

(1)本地创建一个最简单的项目vuex-counter

vue cli创建一个默认项目,安装vuex,这个过程省略。结构如下:

 

 

 这个结构自己能掌握就好,未必要和我的一模一样。

 

(2)打开参考项目(从github下载的vuex项目),它是这样的

 

 

 

找到examples/counter

这里的示例项目结构跟我们本地构建的项目vuex-counter结构稍有不同,

(4)vuex-counter/src/main.js对应参考项目里的app.js

vuex-counter/src/main.js 修改如下:

import 'babel-polyfill'
import Vue from 'vue'
import App from './App.vue'

new Vue({
  el: '#app',
  render: h => h(App),
})

(5)参考项目引用了babel-polyfill,那我们也安装一个

yarn add babel-polyfill -D

(6)新建store.js

src目录下新建store.js(对于简单的项目只需要一个store.js文件就够了,复杂的项目可以用一个store文件夹)

vuex-counter/src/store.js 代码如下:

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)


// 导出store
export default new Vuex.Store({})

如果还没安装Vuex,那赶紧去安装一个

 

2. vuex的四个核心概念的应用

(1)state

vuex-counter/src/store.js

复制代码
// ...

// state
const state = {
    count: 0
}

// 导出store
export default new Vuex.Store({
    state
})
复制代码

 

(2)在main.js导入store

vuex-counter/src/main.js

复制代码
// ...

import store from './store'

new Vue({
  el: '#app',
  store,
  render: h => h(App),
})
复制代码

 

(3)参考项目里面的index.html忽略,我们可以通过build生成,

(4)Counter.vue里面的代码可以直接写在App.vue里面,

vuex-counter/src/App.vue代码如下,变量用固定值替换

复制代码
<template>
  <div id="app">
    已点击:0 次,count等于 0 .
    <button>+</button>
    <button>-</button>
    <button>奇数增加</button>
    <button>异步增加</button>
  </div>
</template>

<script>
export default {
}
</script>
复制代码

(5)vuex-counter里面其他多余的文件和文件夹可以删掉

 

 

(未完待续)

 

posted on   独自去流浪  阅读(491)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示