Vuex讲解
中
秋
快
乐
前言
大家好 我是歌谣 今天给大家带来vuex的讲解
安装vite
yarn create vite -D
安装成功之后
yarn add vuex
依赖
{ "name": "vite-vue-project", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite --port 3002", "build": "vite build", "preview": "vite preview" }, "dependencies": { "vue": "^3.3.4", "vuex": "^4.1.0" }, "devDependencies": { "@vitejs/plugin-vue": "^4.2.3", "vite": "^4.4.5" } }
store中的index.js
import {createStore} from 'vuex' const defaultValue={ count:1, todos:[{ id:1, text:"geyao", done:false }] }
export default createStore({ state(){ return defaultValue }, mutations:{ increment(state,payload={amount:1}){ return (state.count=state.count+payload.amount) } }, actions:{ increment({commit},payload){ commit('increment',payload) } }, getters:{ double:(state)=>state.count*2, getTodoById:state=>id=>state.todos.find((todo)=>todo.id===id) } })
Helloword.js
<script setup> import { useStore } from "vuex" import { computed } from "vue"; const store=useStore() const {state}=store const countDouble=computed(()=> store.getters.double ) </script> <template> <div class="card"> <p>{{ countDouble }}</p> <button type="button" @click="store.commit('increment')">count is {{ state.count }}</button> <button type="button" @click="store.dispatch('increment',{amount:20})">actions is {{ state.count }}</button> <button type="button" @click="store.commit('increment')">count is {{ countDouble }}</button> <p> Edit <code>componnets/helloworld</code> </p> </div> </template> <style scoped></style>
运行结果
点击上方蓝字关注我们
下方查看历史文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南