什么场景适合使用Vuex,保姆级使用流程

目录

1.什么是Vuex?

2.什么情况下应该使用 Vuex?

3.引入Vuex

3.1.安装

3.2.基本配置

        3.2.1.在src目录下创建目录store,在该文件夹中分别创建:

        3.2.2.index.js中

        3.2.3.search.js中

        3.2.4.mian.js中

4.详细的使用Vuex流程

4.1.Dispatch(看上图)

4.2. Commit  ——> Mutate (看图)

4.3.组件中获取数据


1.什么是Vuex?

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 + 库。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。

2.什么情况下应该使用 Vuex?

如果不是大型单页应用,使用 Vuex 可能是繁琐冗余的。如果您的应用够简单,最好不要使用 Vuex。一个简单的 store 模式就足够您所需了。

但是,如果需要构建一个中大型单页应用,就需要考虑如何更好地在组件外部管理状态,Vuex 将会成为自然而然的选择。

站在系统架构的角度上来,vuex虽然能很好帮助我们管理状态, 但随之也带来更多的概念让我们花时间来消化,总而言之,根据项目的实际大小来决定是否需要引入Vuex

3.引入Vuex

从图中我们可以看到vuex包含了3个关键词

  • state

  • actions

  • mutations

3.1.安装

npm install vuex@next --save   //npm
yarn add vuex@next --save      //Yarn

3.2.基本配置

        3.2.1.在src目录下创建目录store,在该文件夹中分别创建:

                index.js(或 store.js), 

                search.js(search举例;这里就称为“仓库”,根据业务,必要时可以创建多个 )

        3.2.2.index.js中

import Vue from  'vue'
//引入vuex
import Vuex from 'vuex';
//使用Vuex
Vue.use(Vuex);
//引入仓库
import search from './search.js';
//对外暴露Store类的实例
export default new Vuex.Store({
   //实现Vuex仓库模块化开发存储数据
   modules:{
       search
   }
})

        3.2.3.search.js中

//state:数据仓库
const state = {
        
}

//actions:可以处理自己的业务逻辑,也可以异步
const actions = {

}

//mutations:修改state的唯一手段
const mutations = {

}

//getters: 用于简化仓库数据,相当于计算属性
const getters = {

}

//对外暴露
export default {
    state,
    mutations,
    actions,
    getters,
}

        3.2.4.mian.js中

import store from './store'

new Vue({
  el: '#app',
  router,
  store, // vuex store
  components: { App },
  template: '<App/>'
})

4.详细的使用Vuex流程

4.1.Dispatch(看上图)


<template>某组件</template>

<script>
  export default {
    name: 'Search',
    data() {
      return {
        searchParams:{
        }
      }
    },
    methods:{
      getData() {
           this.$store.dispatch('getSearchList',this.searchParams)
            //'getSearchList'  => 方法名
            //this.searchParams  => 携带参数,非必须
      },
    },
</script>

<style></style>

4.2. Commit  ——> Mutate (看图)

const state = {
        //初始数据,这里就数组类型举例
       searchList:[]
}

const actions = {
        commit('GETSEARCHLIST',result.data)
            //方法名   携带参数 
            //一般的,actions中发送ajax请求,result.data即ajax请求返回的数据
    }
}

const mutations = {
    //actions中的对应方法名
    GETSEARCHLIST(state,searchList) {
        state.searchList = searchList;
    }
}

const getters = {
    
}

4.3.组件中获取数据

this.xxxx = this.$store.search.state.searchList     //search是对应仓库的名字

或者在仓库中存储数据

this.$store.search.state.searchList = this.xxxx  //search是对应仓库的名字

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你好!对于nnUNet的使用教程,我可以为你提供一些基本的指导。nnUNet是一个用于医学图像分割的开源框架,旨在简化深度学习模型在医学图像上的训练和推理过程。 以下是一个简单的nnUNet使用教程的大纲: 1. 安装nnUNet:首先,你需要安装nnUNet框架。你可以在nnUNet的GitHub页面找到安装说明。 2. 数据准备:准备你的医学图像数据集。确保你的数据集包含正确的标签,并将其划分为训练集、验证集和测试集。 3. 数据预处理:nnUNet要求对数据进行预处理,包括将图像和标签裁剪为相同大小、进行数据增强等。你可以使用nnUNet提供的预处理脚本来完成这些操作。 4. 配置实验:创建一个配置文件来定义你的实验设置。在配置文件中,你需要指定数据路径、模型架构、训练参数等。 5. 训练模型:使用nnUNet提供的训练脚本开始训练模型。根据你的配置文件,nnUNet将自动加载数据并开始训练。 6. 模型评估:在训练完成后,你可以使用nnUNet提供的评估脚本评估模型在测试集上的性能。 7. 模型推理:使用已经训练好的模型进行推理。nnUNet提供了推理脚本,你可以使用它来对新的医学图像进行分割。 请注意,这只是一个简要的教程大纲。如果你需要更详细的教程或遇到特定问题,请参考nnUNet的文档或在相关论坛上寻求帮助。祝你成功使用nnUNet进行医学图像分割!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值