当前位置: 首页 > wzjs >正文

森动网网站建设好吗管理人员课程培训

森动网网站建设好吗,管理人员课程培训,天津网站建设网站推广,郑州网站制作网vuex 简单使用 示例:管理一个对象状态 假设我们要管理一个用户对象 user,包含 name 和 age 两个属性。 1. 定义 Vuex Store 在 store/index.js 中定义状态、mutations、actions 和 getters: import { createStore } from vuex;const store…

vuex 简单使用


示例:管理一个对象状态

假设我们要管理一个用户对象 user,包含 nameage 两个属性。


1. 定义 Vuex Store

store/index.js 中定义状态、mutations、actions 和 getters:

import { createStore } from 'vuex';const store = createStore({state: {user: {name: 'John Doe',age: 30}},mutations: {// 更新用户名称updateUserName(state, newName) {state.user.name = newName;},// 更新用户年龄updateUserAge(state, newAge) {state.user.age = newAge;},// 更新整个用户对象updateUser(state, newUser) {state.user = newUser;}},actions: {// 异步更新用户名称updateUserNameAsync({ commit }, newName) {setTimeout(() => {commit('updateUserName', newName);}, 1000);}},getters: {// 获取用户全名fullName(state) {return state.user.name;},// 获取用户年龄userAge(state) {return state.user.age;}}
});export default store;

2. 在组件中使用组合式 API 管理对象

在组件中,使用 useStore 钩子访问 Vuex store,并通过 computedmethods 来操作对象状态。

<template><div><h1>用户信息</h1><p>姓名: {{ fullName }}</p><p>年龄: {{ userAge }}</p><input v-model="newName" placeholder="输入新姓名" /><button @click="updateName">更新姓名</button><input v-model="newAge" placeholder="输入新年龄" type="number" /><button @click="updateAge">更新年龄</button><button @click="updateNameAsync">异步更新姓名</button></div>
</template><script>
import { computed, ref } from 'vue';
import { useStore } from 'vuex';export default {setup() {const store = useStore();// 使用 computed 获取状态const fullName = computed(() => store.getters.fullName);const userAge = computed(() => store.getters.userAge);// 使用 ref 定义输入框的绑定值const newName = ref('');const newAge = ref('');// 更新用户名称const updateName = () => {store.commit('updateUserName', newName.value);newName.value = ''; // 清空输入框};// 更新用户年龄const updateAge = () => {store.commit('updateUserAge', parseInt(newAge.value, 10));newAge.value = ''; // 清空输入框};// 异步更新用户名称const updateNameAsync = () => {store.dispatch('updateUserNameAsync', newName.value);newName.value = ''; // 清空输入框};return {fullName,userAge,newName,newAge,updateName,updateAge,updateNameAsync};}
};
</script>

3. 代码说明

  1. State:

    • state.user 是一个对象,包含 nameage 属性。
  2. Mutations:

    • updateUserName:更新用户名称。
    • updateUserAge:更新用户年龄。
    • updateUser:更新整个用户对象(如果需要一次性更新多个属性)。
  3. Actions:

    • updateUserNameAsync:模拟异步操作,1 秒后更新用户名称。
  4. Getters:

    • fullName:返回用户的全名。
    • userAge:返回用户的年龄。
  5. 组件逻辑:

    • 使用 computed 获取 Vuex 中的状态。
    • 使用 ref 绑定输入框的值。
    • 通过 commit 提交 mutations 或 dispatch 分发 actions 来更新状态。

4. 运行效果

  • 输入新姓名并点击“更新姓名”按钮,会立即更新 Vuex 中的 user.name
  • 输入新年龄并点击“更新年龄”按钮,会立即更新 Vuex 中的 user.age
  • 点击“异步更新姓名”按钮,1 秒后会更新 Vuex 中的 user.name

总结

通过这种方式,你可以轻松管理 Vuex 中的对象状态。组合式 API 提供了更灵活的方式来访问和操作 Vuex store,同时保持代码的可读性和可维护性。如果你有更复杂的需求(如嵌套对象或数组),也可以使用类似的方式管理。

http://www.dtcms.com/wzjs/465405.html

相关文章:

  • 免费的国产cad搜狗seo排名软件
  • 扁平化企业网站模板网站优化软件
  • 政府建设门户网站的意义北京百度推广客服电话多少
  • 软件下载类型网站怎么做推广方式营销方案
  • 网站备案 有效期好省推广100种方法
  • 网站建设中如何插入动图seo搜索引擎优化总结报告
  • 开放平台是什么意思邵阳seo优化
  • 个人主页网页设计作品欣赏win10优化软件
  • 哪些网站用天平做logo唯尚广告联盟app下载
  • 哪里有网站制作平台网站模板源码
  • 个人网站设计与制作设计思路搜索引擎整合营销
  • 女生学网站建设好学吗营销方案模板
  • 网站开发公司人员配备南京关键词优化软件
  • 城阳做网站的公司制作网站公司
  • 公积金网站建设模板百度一下首页版
  • 房地产微网站建设栏目设计网站怎么做
  • 托管公司是怎么托管的seo查询友情链接
  • 如何建立内外网网站seo文章是什么
  • 美容网站建设b2b平台有哪些平台
  • 静态网站策划书seo相关岗位
  • DW做网站入门步骤教学衡水seo培训
  • 沈阳谷歌网站建设信息流优化师没经验可以做吗
  • 京东网站 用什么做的网络营销的六个特点
  • 云梦模板网站优缺点活动营销的方式有哪些
  • 深圳市政府网站建设 网站管理seo排名优化软件
  • java做网站比php难国内新闻最新消息
  • 帮人做彩票网站支付接口免费域名 网站
  • wordpress文字验证码整站优化方案
  • 做涂鸦的网站优化工作流程
  • 南昌网站建设 南昌做网站公司容易被百度收录的网站