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

dw网站制作的一般流程怎么投放网络广告

dw网站制作的一般流程,怎么投放网络广告,用wordpress建商城,深圳龙岗疫情什么时候解封目录 1,Pinia 介绍2,和 Vuex 的对比3,storeToRefs 源码分析 1,Pinia 介绍 官网简介 Pinia 使用上的问题,官方文档很详细,这里不做赘述。 Pinia 是 Vue 的专属状态管理库,支持vue2和vue3&#x…

目录

  • 1,Pinia 介绍
  • 2,和 Vuex 的对比
  • 3,storeToRefs 源码分析

1,Pinia 介绍

官网简介

Pinia 使用上的问题,官方文档很详细,这里不做赘述。

  1. Pinia 是 Vue 的专属状态管理库,支持vue2和vue3,不能应用于其他前端框架。
  2. Pinia 是 Vue 官方团队的成员实现的,原本是为了探索 vue5.x 的可能性,后来发现已经实现了 vue5.x 的提案。所以就作为最新版本的 Vuex ,也就是下一代状态管理库来使用了。

2,和 Vuex 的对比

  1. 删除了 mutations ,只保留了 stategettersactions异步修改 state 现在可以放到 actions 中了。
  2. 不再有模块嵌套,只有 store(状态仓库)的概念,store 之间独立又可相互调用。
  3. 支持插件扩展,比如为 store 新增属性或方法,操作 action 等。
  4. 因为 Pinia 使用 TS 开发的,所以对 TS 有很好的支持。
  5. 兼容 vue2 和 vue3,同时支持选项式风格和组合式风格。
  6. 轻量,压缩后体积只有 1kb 左右。

在使用上,同样应避免直接操作 store,尽量都集中使用 actions 中的方法来操作 store 的状态。

3,storeToRefs 源码分析

在组件中使用 store 的属性时,会有一个问题:

<script setup>
import { useCounterStore } from '@/stores/counter'const store = useCounterStore()
// ❌ 这将不起作用,因为它破坏了响应性,这就和直接解构 `props` 一样
const { name, doubleCount } = store // ✅ 这样写是响应式的,当然也可直接使用 `store.doubleCount`
const doubleValue = computed(() => store.doubleCount)// ✅ 作为 action 的 increment 可以直接解构
const { increment } = store
</script>

这时需要使用 storeToRefs(),它将为每一个响应式属性创建引用。

<script setup>
import { useCounterStore } from '@/stores/counter'
import { storeToRefs } from 'pinia'const store = useCounterStore()
const { name, doubleCount } = storeToRefs(store)
</script>

源码

import { toRaw, ref, isVue2, isRef, isReactive, toRef, toRefs } from 'vue-demi';
/*** @param store - defineStore 定义的 store 对象*/
function storeToRefs(store) {if (isVue2) {return toRefs(store);}else {store = toRaw(store);const refs = {};for (const key in store) {const value = store[key];if (isRef(value) || isReactive(value)) {refs[key] = toRef(store, key);}}return refs;}
}

原理其实很简单,我们在解构 props 时,直接解构也会失去响应式(参考如何响应式解构 Props),需要使用 toRef 与其源属性保持同步。

所以 storeToRefs 的原理:

  1. 首先通过 store = toRaw(store); 将 store 转为普通对象,目的是方便遍历。
  2. 遍历 store 中的响应式属性,并使用 toRef 处理后返回新对象,这样解构新对象得到的属性会和 store 的源属性保持同步,而不失去响应式。

为什么不用 toRefs 一步到位:

return toRefs(store)

因为 toRefs 会将 store 中每个属性都变为响应式返回,而我们只需要 store 中原本就是响应式的数据,并且不需要 actions。


以上。

http://www.15wanjia.com/news/7828.html

相关文章:

  • 合工大智能院网站建设西安网站维护
  • 江西省城乡建设陪训网官方网站泉州排名推广
  • 青岛市城乡建设委员会政务网站友情链接检测方法
  • 长春网站建设网站网站如何提升seo排名
  • 陕西手机网站制作网络营销工具和方法
  • 宁海哪里有做网站的seo人员培训
  • 紫搜做网站自媒体发布软件app
  • 网站弄论坛形式怎么做深度优化
  • 公司百度网站建设百度世界排名
  • 网站模块化小程序搭建
  • 大港油田建设网站百度怎样发布信息
  • 怎么给网站做备案宁波seo关键词优化报价
  • 哈尔滨网站设计哪里有做投广告的平台有哪些
  • 做网站的资料修改企业宣传软文
  • 作业网站建设方案引流推广
  • asia 域名 知名网站开一个网站需要多少钱
  • 学习建设网站沈阳沈河seo网站排名优化
  • wordpress 网站运行时间重庆网站推广联系方式
  • 网站开发 平台建设陕西网站关键词自然排名优化
  • shopify如何做瀑布流网站成功营销案例分享
  • 许昌旅游网站建设现状中文搜索引擎大全
  • 自己做的网址危险网站18种最有效推广的方式
  • 网站制作有什么好的介绍最近热点新闻事件
  • 本溪网站开发公司各国足球世界排名
  • 衡水林熠网站建设公司好视通视频会议app下载安装
  • 建设一个网站的好处百度引流推广怎么做
  • 响应式网站报价搜索大全搜索引擎
  • 湖南智能网站建设多少钱爱站网影院
  • 网站制作公司汉狮网络云南seo公司
  • 化妆品可做的团购网站有哪些域名138查询网