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

广东省住房城乡建设部网站北京网站优化步骤

广东省住房城乡建设部网站,北京网站优化步骤,成都市建设工程施工安监站网站,企业管理系统设计1. 知识储备 1.1 Vuex 基础知识 首先需要去官网熟悉一下基本概念。Vuex 是集中式状态管理工具。它和全局对象有两点区别,第一点是 Vuex 中的数据是响应式的,即数据变动视图也会跟着变动,第二点是 Vuex 中的数据必须显示提交才可以改变&…

1. 知识储备

1.1 Vuex 基础知识

首先需要去官网熟悉一下基本概念。Vuex 是集中式状态管理工具。它和全局对象有两点区别,第一点是 Vuex 中的数据是响应式的,即数据变动视图也会跟着变动,第二点是 Vuex 中的数据必须显示提交才可以改变,也就是说修改数据的时候都需要显示调用提供的 commit 方法。它的核心概念有4个,其中 state 用来存放数据,getter 用来获取数据(类似于 Vue 的计算属性),mutation 用来修改数据(这个是修改数据的唯一方法),action 用来异步修改数据(注意,它需要通过 mutation 修改数据)

1.2 Vue 基础知识

Vuex 作为全局管理插件,需要实现跨多个组件通信的场景,所以需要使用 provide/inject 方法。Vue 和 Vuex 链接是通过插件进行的,Vuex 在实现的时候需要有 install 方法,而 Vue 通过 use 方法调用插件中的 install 方法。

2. 源码分析

2.1 输入

该模块引入 inject,reactive,computed 三个方法,其中 inject 用于跨组件使用对象,这里获取到的是 new store 后生成的实例;reactive 用于将 state 中的数据变成响应式的;computed 用于 getter 获取 state 中的数据并保持响应式。

2.2 输出

该模块输出 useStore 和 createStore 两个方法,其中 createStore 方法可以将参数中的 state 变成响应式的,getters 响应式获取 state 中的数据并且支持多个方法,另外还支持 commit 和 dispath

2.3 补充

commit 方法会直接存在于 new Store 创建的实例中,这个不同于 dispatch 方法,它只存在于 Store 的实例对象中,这个是实例属性的新写法,可以参考 ES6入门

3. 源码

import { inject, reactive, computed } from "vue";const STORE_KEY = "__store__";// 组件中使用的时候调用
function useStore() {return inject(STORE_KEY);
}// 使用 app.use 方法的时候调用
function createStore(options) {return new Store(options);
}class Store {constructor(options) {this.$options = options;this._state = reactive({data: options.state(),});this._mutations = options.mutations;this._actions = options.actions;this.getters = {};// 遍历 options.getters 中的所有方法,然后放到 getters 中并使用 computed 方法保持响应性Object.keys(options.getters).forEach((name) => {const fn = options.getters[name];this.getters[name] = computed(() => fn(this.state));});}// store.state 的时候获取 dataget state() {return this._state.data;}// 如果有对应的方法,则调用该方法commit = (type, payload) => {const entry = this._mutations[type];entry && entry(this.state, payload);};dispatch(type, payload) {const entry = this._actions[type];return entry && entry(this, payload);}install(app) {app.provide(STORE_KEY, this);}
}
export { createStore, useStore };
复制代码

4. 总结

通过学习手写 Vuex 的代码可以加深对官网文档的理解,同时注意平常使用的时候需要保持响应性,并且只通过 commit 方法进行显示修改数据。

http://www.lbrq.cn/news/2453995.html

相关文章:

  • dw做网站教程今日军事头条新闻
  • 凡客做网站手机访问另一部手机访问文件
  • 北海做网站有哪家好最新今日头条
  • 从事网站建设的工资百度app下载安装普通下载
  • 专业制作存单昆明seo案例
  • 网站做ssl证书有风险友情链接平台赚钱吗
  • 长春seo外包平台宝鸡百度seo
  • 什么是三合一网站建设关键词优化排名软件推荐
  • 企业网站建设招标技术标准seo网站优化师
  • 网站底部素材阿里云云服务平台
  • wap动态网站开发模板建站和开发网站区别
  • 企业小程序开发谷歌seo课程
  • 国外设计模板网站深圳网站seo地址
  • 动态网站建设试题和答案网络广告推广
  • 网站备案的原则郑州谷歌优化外包
  • 南昌网站优化百度推广app怎么收费
  • 高邮做网站推广普通话的意义简短
  • 抄袭别人网站seo技术网网
  • 网站建设与规划实验心得体会鼓楼网站seo搜索引擎优化
  • 免费咨询兽医沈阳关键词快照优化
  • 聊城网站优化信息销售人员培训课程有哪些
  • 如何做流量充值网站扬州seo博客
  • 福建疫情最新消息今天又封了百度seo服务方案
  • wordpress文章目录分页seo是如何做优化的
  • 永久网站域名百度排行榜风云
  • 湘潭建设网站公司如何把一个关键词优化到首页
  • WordPress漏洞报告整站优化和单词
  • 绍兴企业做网站google关键词工具
  • 专业网站建设在哪里小广告多的网站
  • 手机网站显示建设中深圳网站建设公司排名
  • 【Android】相对布局应用-登录界面
  • @PathVariable与@RequestParam的区别
  • 人工智能概述
  • 算法竞赛阶段二-数据结构(34)数据结构链表STL vector
  • PyTorch数据选取与索引详解:从入门到高效实践
  • 数据库底层索引讲解-排序和数据结构