【vuex的安装,v3调用五大核心,计算属性的set,get、ajax】

本文介绍了如何安装和配置Vuex,Vue.js的状态管理库。包括安装步骤、创建store的基本结构,以及如何在项目中使用Vuex进行状态管理。同时,还提供了计算属性的set和get方法的使用示例,并简要说明了AJAX的基础使用。

vuex的安装

 vuex并不是vue的内置工具;而是一个插件;需要安装

  如果没有:
  1. 安装: npm install vuex --save
  2. 新建一个js文件:
      import {createStore} from 'vuex'

      export default createStore({
        五个核心的概念

      })
  3. 在main.js内引入 新建一个js文件;
      通过use挂载


  vuex并不是适合所有的项目;只适合大型的项目

vue内的严格模式通过在vuex中设置属性strict为true开启、与state同级

  strict: true, //开启严格模式

调用vuex中的五大核心

//调用vuex中的五大核心
  import {computed} from 'vue'
  import {useStore} from 'vuex'
  const  store = useStore()

  let numApi = computed(()=>{
      return store.state.num    
  })

  let calcNum = computed(()=>{
      return store.getters.getNum
  })
  const addHanlde = ()=>{
      store.commit('addNum')
  }
  const changeNum = ()=>{
      store.dispatch('actionChangeNum')
  }

计算属性的set和get

  • 计算属性的值不能直接更改;想要更改必须使用 get 和 set
    vue3中通过以下方法来实现
import { ref, computed } from "vue";
import { useStore } from "vuex";
const store = useStore();
// let num = computed(() => {
//     return store.state.num
// });

let num = computed({
    get(){
        return store.state.num
    },
    set(val){
        store.commit('changeNum',val)
    }
})

ajax

 发起ajax的步骤
        1. 实例化核心对象  let 名称 = new XMLHttpRequest()
        2. 建立链接     名称.open(请求方式(get/post/delete/head..),请求的链接/接口的地址,同步异步)
        3. 发送请求   名称.send()
        4. 接收返回的值  名称.onreadystatechange =  function(){
             接收值
        }

例如

  let ajax = new XMLHttpRequest() // 实例化核心对象
          建立链接 ajax.open(请求方式,请求链接,同步或者异步(默认异步))
        ajax.open('GET','https://api.it120.cc/small4/banner/list')  // 建立链接
        /**
         * 发送请求 ajax.send()
         */
        
        ajax.send() // 发送请求;如果有参数,在此处带参数
        /**
         * 接收值
         * 就是监听 readyState状态值的变化
         */
        ajax.onreadystatechange = function () {
            if(ajax.readyState==4 && ajax.status==200){
                console.log(JSON.parse(ajax.response));
            }
        }
  • 我们使用的axios就是在ajax基础上的封装;我们使用promise 封装成 一个简易的axios

建议封装

 function axios(method,url,data) {
            return new Promise((resolve,reject)=>{
                let ajax = new XMLHttpRequest()
                ajax.open(method,url)
                ajax.send(data)

                ajax.onreadystatechange = function () {
                    if(ajax.readyState==4 && ajax.status==200){
                        resolve(JSON.parse(ajax.response))
                    }
                }
            })
        }

        axios('GET','https://api.it120.cc/small4/banner/list').then(res=>{
            debugger
        })
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苦瓜大大王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值