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

如何制作一个个人网页天津百度seo代理

如何制作一个个人网页,天津百度seo代理,win7上能否做asp网站,分类信息网站建设价格问题:是否给pinia添加过插件?具体添加的方式是什么? 在pinia中,我们可以为仓库添加插件,通过添加插件能够扩展以下的内容: 为 store 添加新的属性 定义 store 时增加新的选项 为 store 增加新的方法 包装现…

问题:是否给pinia添加过插件?具体添加的方式是什么?

pinia中,我们可以为仓库添加插件,通过添加插件能够扩展以下的内容:

为 store 添加新的属性
定义 store 时增加新的选项
为 store 增加新的方法
包装现有的方法
改变甚至取消 action
实现副作用,如本地存储
仅应用插件于特定 store

自定义插件

1.新建插件文件

新建plugins文件夹,添加index.js文件
文件内容如下:

//插件
export function myPiniaPlugin1(){//给所有仓库添加了一条全局属性return{secret:'the cake is a lie',}
}

2.在main.js中引入自定义插件并注册

main.js中引入自定义插件:

import {createPinia} from 'pinia';
import {myPiniaPlugin1} from './plugins';
//创建pinia实例
const pinia = createPinia();
//通过pinia实例来注册插件
pinia.use(myPiniaPlugin1);

3.在文件中校验全局属性是否存在

import {useCounterStore} from '@/store/useCounterStore.js';
const store = useCounterStore();//拿到仓库
//检验插件添加上去的全局属性是否已经成功添加上去
console.log(store.secret);

添加第三方插件

1.新建插件文件

新建plugins文件夹,添加index.js文件
文件内容如下:

export function myPiniaPlugin2(context){console.log(context,context.store);//里面包含app store options pinia等const {store} = context;store.text = "this is a test";//挂载到store上全局参数text参数
}
//export function myPiniaPlugin2({store}){//这种解构的方式获取store跟上面的一样。
//}
//给特定的仓库来扩展内容——store中的有个$id,是每个小仓库的唯一id值,可以用来判断是否是指定的仓库
export function myPiniaPlugin3(){if(store.$id==='counter'){//为当前id为counter的仓库来扩展属性return{name:'this is a myPiniaPlugin3'}}
}

2.在main.js中引入自定义插件并注册

main.js中引入自定义插件:

import {createPinia} from 'pinia';
import {myPiniaPlugin2,myPiniaPlugin3} from './plugins';
//创建pinia实例
const pinia = createPinia();
//通过pinia实例来注册插件
pinia.use(myPiniaPlugin2);
pinia.use(myPiniaPlugin3);

3.在文件中校验全局属性是否存在

import {useCounterStore} from '@/store/useCounterStore.js';
const store = useCounterStore();//拿到仓库
//检验插件添加上去的全局属性是否已经成功添加上去
console.log(store.secret);

添加重置仓库状态的函数——组合式pinia中的$reset()方法不生效的解决办法

export function myPiniaPlugin4({store}){//我们首先可以将初始状态深拷贝一份const state = deepClone(store.$state);store.reset = ()=>{store.$patch(deepClone(state));}
}
//深拷贝的方法
function deepClone(obj){//如果传入的参数不是对象,则直接返回该参数if(typeof ob !== "object"||obj===null){return obj;}//根据传入的参数是数组还是对象来初始化新的变量const newObj = Array.isArray(obj)?[]:{};//递归遍历原始对象并复制属性和值到新对象中for(const key in obj){newObj[key] = deepClone(obj[key]);}//返回新对象return newObj;
}

其他步骤也是在main.js中引入注册use,然后在页面上使用。

pinia-plugin-persistedstate——可持久化

参考链接:https://www.npmjs.com/package/pinia-plugin-persistedstate

使用方法:

1.npm安装

npm i pinia-plugin-persistedstate安装可持久化的插件

2.main.js中注册并引入插件

import { createPinia } from 'pinia'
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'const pinia = createPinia()
pinia.use(piniaPluginPersistedstate)

3.根据文档进行配置

文档地址:https://prazdevs.github.io/pinia-plugin-persistedstate/zh/guide/
在这里插入图片描述
完成!!!多多积累,多多收获!

http://www.khdw.cn/news/57212.html

相关文章:

  • 橙子建站验证码能骗取什么应用商店aso
  • 河南省住房与城乡建设厅网站首页每日新闻摘抄10一30字
  • h5 网站建设应用关键词优化
  • wordpress 增加导航栏网络seo是什么意思
  • 住房和城乡建设主管部门网站企业培训考试平台官网
  • 自己建网站做淘宝客株洲网站设计外包首选
  • 专门做正品的网站东莞网站推广营销
  • 春节html网页设计与制作代码seo外链发布平台有哪些
  • 武汉网站建设德升怎样在网上做宣传
  • 网站建设的主要缺陷学习软件的网站
  • 怎么用网站视频做自媒体网页设计工作室长沙
  • 网站建设要那些东西新媒体营销推广公司
  • 做网站开发公司电话线上如何做推广
  • 长春电商网站建设公司电话百度百科查询
  • 移动应用开发课程seo软件全套
  • 途牛网站大数据建设优化科技
  • 深圳外包网站网站买卖
  • 郑州专业做网站企业广告营销
  • 网站建设优化需要懂那些知识网站竞价推广怎么做
  • 手机商城网站建设网站优化外包多少钱
  • 代挂网站维护seo优化搜索推广
  • 做企业网站的尺寸是多少钱腾讯会议多少钱一个月
  • 宝鸡做网站哪家公司好磁力库
  • 电子商务网站的建设的意义新闻实时报道
  • 网站建设阶段网络推广文案策划
  • dw里响应式网站怎么做防恶意竞价点击软件
  • 梧州网站设计制作服务至上百度竞价排名一年费用
  • 做商城网站用什么框架外贸高端网站设计公司
  • 建筑网片的用途广州seo排名优化
  • 南京网站制作学校0元免费做代理