首页 > 其他分享 >vue3+vuex 的 action 来发送网络请求的

vue3+vuex 的 action 来发送网络请求的

时间:2022-08-30 13:57:20浏览次数:52  
标签:recommends const vuex state vue3 action banners data

<template>
  <div class="app">
    <h3>Home Page</h3>
    <ul>
      <template v-for="item in $store.state.banners" :key="item.acm">
        <li>{{ item.title }}</li>
      </template>
    </ul>
  </div>
</template>


<script setup>

// 告诉vuex 发起网络请求
import { useStore } from 'vuex';
const store = useStore()
store.dispatch('getHomeMultidataDataAction')

</script>
import { createStore } from 'vuex'

export default createStore({
  state: {
    // 请求的数据
    banners: [],
    recommends: []
  },
  mutations:{
    // 提交state
    changeBanners(state, banners) {
      state.banners = banners
    },
    changeRecommends(state, recommends) {
      state.recommends = recommends
    }
  },
  actions: {
    // 发送请求
    async getHomeMultidataDataAction(context){
      const res = await fetch("http://123.207.32.32:8000/home/multidata")
      const data = await res.json()
      
      // 修改state数据
      context.commit("changeBanners", data.data.banner.list)
      context.commit("changeRecommends", data.data.recommend.list)

    }

  },

})

 

标签:recommends,const,vuex,state,vue3,action,banners,data
From: https://www.cnblogs.com/qd-lbxx/p/16639030.html

相关文章

  • vue2和vue3的区别?
    vue2和vue3的主要区别在于以下几点:1、生命周期函数钩子不同2、数据双向绑定原理不同3、定义变量和方法不同4、指令和插槽的使用不同5、API类型不同6、是否支持碎片7......
  • vue3+vuex 的 actions 的 使用
    <template><divclass="app">姓名:{{$store.state.nameVuex}}<button@click="btn">基本方法:修改名字</button><br/><button@click="btn1">传递值......
  • vue3 - 封装图表组件
      把相同或者类似的图表进行封装父组件使用:<Report:info="main4":xdata="RXData4":sdata="RSData4":title="title4"......
  • vue3项目-小兔鲜儿笔记-首页03
    1.面板封装提取首页的公用面板进行复用头部标题和副标题由props传入右侧内容由具名插槽right传入查看更多封装成全局组件主体由默认插槽传入......
  • vue3 基础-事件绑定 & 修饰符
    无非就是js的一些事件,按键,鼠标等的一些绑定在vue的实现而已,很好理解.先来看一个基础例子.事件初体验<!DOCTYPEhtml><htmllang="en"><head><title>事......
  • vue3基础入门
    vue3基础入门官方网站:https://v3.vuejs.org/中文文档:https://staging-cn.vuejs.org/guide/introduction.html1、简介1.1、vue是什么?Vue.js(读音/vjuː/,类似于vi......
  • vue3+vuex 的 mutations 的 使用
    <template><divclass="app">姓名:{{$store.state.nameVuex}}<button@click="btn">基本方法:修改名字</button><br/><button@click="btn1">传递值......
  • vue2+vuex 的 mutations 的 使用
    <template><divclass="app">姓名:{{$store.state.nameVuex}}<button@click="btn">基本方法:修改名字</button><br/><button@click="btn1......
  • vue3+vuex 的 getters 的 使用
     app.vue<template><divclass="app"><h3>在模板中直接使用(vue2-3都可用)</h3>计算:{{$store.getters.counterGetter}}<br/>年龄:......
  • vue3+vuex 的 state 的 使用
     <template><divclass="app"><h3>在模板中直接使用(vue2-3都可用)</h3>姓名:{{$store.state.nameVuex}}等级:{{$store.state.levelVuex}}......