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

试玩网站建设制作免费asp网站模板

试玩网站建设制作,免费asp网站模板,搜索指数分析,怎么查网站服务器Pinia是一个用于vue的状态管理库#xff0c;类似于vuex,是vue的另一种状态管理工具。 Pinia 是 Vue 的存储库#xff0c;它允许跨组件/页面共享状态。实际上#xff0c;Pinia就是Vuex的升级版#xff0c;官网也说过#xff0c;为了尊重原作者#xff0c;所以取名pinia类似于vuex,是vue的另一种状态管理工具。         Pinia 是 Vue 的存储库它允许跨组件/页面共享状态。实际上Pinia就是Vuex的升级版官网也说过为了尊重原作者所以取名pinia而没有取名Vuex所以大家可以直接将Pinia比作为vue3的vuex。 很多人也将Pinia称为vuex5。         在Pinia中每个store都是单独存在一同进行状态管理。 一pinia与vuex的区别  与 Vuex 相比Pinia 提供了一个更简单的 API具有更少的规范提供了 Composition-API 风格的 API最重要的是在与 TypeScript 一起使用时具有可靠的类型推断支持。 1.mutations 不再存在。 2.无需创建自定义复杂包装器来支持 TypeScript所有内容都是类型化的并且 API 的设计方式尽可能利用 TS 类型推断。 3.不再需要注入、导入函数、调用函数、享受自动完成功能 4.无需动态添加 Store默认情况下它们都是动态的 5.不再有 modules 的嵌套结构 二基本配置和使用 1、安装 可以用自己常用的包管理器安装例如 pnpm install pinia yarn add pinia npm install --save pinia 2、 基本使用 ①创建pinia实例并挂载 在main.ts中 import { createApp } from vue import ./style.css import App from ./App.vue // 引用 import {createPinia } from pinia // 创建Pinia实例 const Pinia createPinia() // 挂载pinia createApp(App).use(Pinia).mount(#app) ② 配置状态管理专用文件在根目录下创建一个store文件并新建一个index.ts文件  ③通过import将下载好的pinia引入到index.ts中并导出 并使用defineStore创建store对象   import { defineStore } from pinia// // 第一个参数是应用程序中 store 的唯一 id export const useStore defineStore(main, {}) 三pinia基础特性 1、state        创建stateimport { defineStore } from pinia// useStore 可以是 useUser、useCart 之类的任何东西 // 第一个参数是应用程序中 store 的唯一 id export const useStore defineStore(main, {state:(){//创建状态return {text:我是pinia的一个状态变量}} }) 组件中使用templatediv!-- 3.使用 --我是测试pinia的组件--{{store.text}}/div /templatescript langts setup // 1.引用 import 名字 from 你pinia编写的文件 // 2.创建 let store名字() /scriptstyle/style 1默认情况下通过 store 实例访问 state可以直接读取和写入 如clickstore.count 2通过 store.$reset() 方法可以将 state 重置为初始值。 3除了直接通过 store 修改 state还可以通过 store.$patch() 方法提交多个更改。 4可以通过 store.$subscribe() 订阅 State 的变化在 patches 修改之后订阅只会触发一次。默认情况下订阅绑定到添加它的组件当组件卸载时它们将自动删除也可以配置将其保留。 2、getters 1Getters 属性的值是一个函数接受 state 为第一个参数目的是鼓励使用箭头函数。           2非箭头函数会绑定 this建议仅在需要获取整个 store 实例的场景使用且需要显式定义函数返回类型。 import { defineStore } from piniaexport const useStoreb defineStore(mainb, {state:(){return {text:abcdefg}},actions:{},getters:{newtext(){ return this.text.toUpperCase()}} }) 3、actions--修改 修改方式一 组件内创建触发。 ①         store.你在pinia中actions中创建的修改函数 templatediv 我是测试pinia的组件--{{store.text}}button clickupdate()点我修改/button/div /templatescript langts setup import {useStore} from ../store/index let storeuseStore()let update(){// 调用修改方法 store.你在pinia中actions中创建的修改函数store.TEXT_UPDATE() } /scriptstyle/style ②        pinia中创建修改方法 import { defineStore } from piniaexport const useStore defineStore(main, {state:(){return {text:我是pinia的一个状态变量}},actions:{TEXT_UPDATE(){//修改方法this.text我变了}} }) 修改方式二$patch //在组件内调用$parch 便可直接修改数据 let update(){store.$patch({//你要修改state的数据: 你要修改的value值text:我是$patch直接修改}) }//方式2 let update(){store.$patch((state){console.log(state)state.text你又被改了}) } store是一个对象在数据很多的情况下那么我们可以使用解构。但是使用解构之后数据会失去响应式这个时候我们可以使用 storeToRefs来保持数据的响应式。 templatediv我是测试pinia的组件--{{text}}button clickupdate()点我修改/button/div /templatescript langts setup import {useStore} from ../store/index import {storeToRefs} from pinia let storeuseStore()// 解构取值 // let {text}store // storeToRefs 让数据快去取出 并且不丢失响应式 let {text}storeToRefs(store) let update(){// 调用修改方法 store.你在pinia中actions中创建的修改函数store.updatetext() } /script4、action--处理异步操作                 在pinia中acition不但能处理同步操作 同样也可以处理异步操作 使用方式和vuex一致 在组件中 templatediv 我是测试pinia的组件--{{store.text}}button clickdemoAxios()点我获取异步数据/button /div /templatescript langts setupimport {useStore} from ../store/index let storeuseStore()let demoAxios(){store.link() }/script 在pinia中 import { defineStore } from pinia import $http from axios export const useStore defineStore(main, {state:(){return {text:我是pinia的一个状态变量}},actions:{async link(){try {let data await $http({url:,method:get})//需要的操作} catch (error) {console.log(失败)}}} }) 5、$reset--重置数据 意思就是让数据恢复为state的初始值 templatediv 我是测试pinia的组件--{{store.text}}button clickupdate()点我修改/buttonbutton clickreset()点我恢复初始值/button /div /template script langts setup import {useStore} from ../store/index let storeuseStore() let update(){store.updatetext() } let reset(){// $resetstore.$reset() } /script6、$subscribe--监听数据修改 $subscribe 监听pinia数据修改 当数据改变了 那么subscribe也会触发 templatediv 我是测试pinia的组件--{{store.text}}button clickupdate()点我修改/button /div /template script langts setup import {useStore} from ../store/index let storeuseStore() let update(){store.updatetext() } // 监听store数据修改 let substore.$subscribe((params,state){console.log(params,params);//修改的操作console.log(state,state);//修改后的数据 }) /script 7、模块化 pinia中取消了modules。 pinia中定义模块只需要定义多个store即可。 因为pinia没有单一数据源这个概念在其中可以定义多个store对象   templatedivh1 第一个store{{storeone.text}}/h1h1 第二个store{{storetwo.text}}/h1 /div /templatescript langts setup // 引用第一个store import {useStore} from ../store/index // 引用第2个store import {useStoreb} from ../store/indexb let storeoneuseStore()let storetwouseStoreb() /script 四pinia优势 综上pinia的优点已经很明显了 ts兼容性好 、不需要命名空间可以创建多个store、mutation删掉了pinia只具备以下几个属性状态、计算属性、动作pinia大小也会更小巧一些
http://www.hkea.cn/news/14463387/

相关文章:

  • 公司网站谁负责做专业网站建设特点分析
  • 国外服装定制网站建设手机网站的方案
  • 最新开的手游传奇网站什么网站做前端练手好
  • 品牌网站建设小h蝌蚪古镇网站建设熊掌号
  • 长沙市网站建设公司wordpress文章编辑框
  • 忻州市建设厅网站首页wordpress自定义文章顺序
  • 网站外包价格广东网站建设找
  • 网站开发后端所需要的语言南通网站托管
  • 最好的产品网站建设网站建设系统设计
  • 网站图标做多大好太原市给企业做网站
  • 做任务领礼品的网站重庆企业网站营销设计
  • 制作一个简单的网站湖南网站开发公司电话
  • 数字中国建设峰会网站网站空间200m
  • 开通网站费可以做待摊费用吗外包服务网站排名
  • 网站备案表格成都网站优化师
  • 用织梦做的网站下载地址百度搜索量怎么查
  • 官网做的好看的网站有哪些软件工程师证书有用吗
  • 注册新公司网上核名网站网站做跳转链接的好处
  • 北京城乡和住房建设部网站合肥微信网站
  • 常州建网站公司大兴手机网站建设
  • 百度网站怎么制作wordpress主题手机端
  • 网站页尾的作用wordpress spotless
  • 专业重庆房产网站建设网站续费通知单
  • 知名营销网站开发商标注册查询流程
  • 免费行业网站源码湖南人文科技学院招生网
  • 自己建公司网站可以嘛qq空间做网站
  • 网站设计制作费用网站开发电脑配置推荐
  • 基础做网站银川建设
  • 做网站商城网站添加备案
  • 东莞网站推广哪里找saas软件