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

武隆网站建设爱做奈官方网站

武隆网站建设,爱做奈官方网站,网站前台,网站建设需求说明书模板系列文章目录 第八章 Pinia 文章目录 系列文章目录前言一、安装和配置#xff1a;二、基本使用三、一个更真实的例子 前言 Pinia是Vue.js应用程序的状态管理库。它提供了一种简单#xff0c;轻量级的解决方案#xff0c;用于在Vue应用程序中管理和维护状态。Pinia库的特点…系列文章目录 第八章 Pinia 文章目录 系列文章目录前言一、安装和配置二、基本使用三、一个更真实的例子 前言 Pinia是Vue.js应用程序的状态管理库。它提供了一种简单轻量级的解决方案用于在Vue应用程序中管理和维护状态。Pinia库的特点是易于使用和集成可以使开发者在不牺牲性能的情况下更有效地处理和维护状态。pinia中有三个概念分别是state、getter、action对应于Vue组件中的data、computed、methods。 一、安装和配置 安装通过命令npm install pinia2.1.7 或者在创建vue项目的时候勾选使用Pinia。 配置在main.js中需要创建pinia对象并与app对象进行绑定示例代码如下 import { createApp } from vue import { createPinia } from piniaimport App from ./App.vueconst app createApp(App) app.use(createPinia()) app.mount(#app)二、基本使用 通常在src目录下创建一个stores文件夹然后在里面按需创建js文件。假设要创建一个用于管理counter全局变量的库文件那么可以创建counter.js文件然后填入以下代码 import { defineStore } from piniaexport const useCounterStore defineStore(counter, () {const count ref(0)function increment() {count.value}return { count, increment } })或者使用选项式API import { defineStore } from piniaexport const useCounterStore defineStore(counter, {state: () {return { count: 0 }},// 也可以这样定义// state: () ({ count: 0 })actions: {increment() {this.count},}, })这样就定义好了一个count变量以后在组件中可以通过以下三种方式修改 script setup import { useCounterStore } from /stores/counter const counterStore useCounterStore() // 1. 直接修改 counterStore.count // 2. 使用$patch批量修改 counterStore.$patch({ count: counterStore.count 1 }) // 3. 使用action修改 counterStore.increment() /script template!-- 直接从 store 中访问 state --divCurrent Count: {{ counter.count }}/div /template以上三种修改方式的应用场景如下 如果只要修改一个状态变量并且不需要额外的操作那么推荐使用第一种方法。如果要一次性修改多个状态变量那么推荐使用$patch方法效率更高。如果在修改状态变量的同时要做一些额外的操作那么推荐第三种方法。 三、一个更真实的例子 import { defineStore } from pinia export const useTodos defineStore(todos, {state: () ({/** type {{ text: string, id: number, isFinished: boolean }[]} */todos: [],/** type {all | finished | unfinished} */filter: all,// 类型将自动推断为 numbernextId: 0,}),getters: {finishedTodos(state) {return state.todos.filter((todo) todo.isFinished)},unfinishedTodos(state) {return state.todos.filter((todo) !todo.isFinished)},/*** returns {{ text: string, id: number, isFinished: boolean }[]}*/filteredTodos(state) {if (this.filter finished) {// 调用其他带有自动补全的 getters ✨return this.finishedTodos} else if (this.filter unfinished) {return this.unfinishedTodos}return this.todos},},actions: {// 接受任何数量的参数返回一个 Promise 或不返回addTodo(text) {// 你可以直接变更该状态this.todos.push({ text, id: this.nextId, isFinished: false })},}, })
http://www.hkea.cn/news/14344181/

相关文章:

  • 不写代码门户网站建设南宁网站建设官网
  • 黄冈网站建设wordpress小型门户
  • 电子商务网站建设 第二版重庆手机网站制作费用
  • 网站开发毕设文档品牌网站建设要选磐石网络
  • 网站内容很少如何做seo淘宝推广工具
  • 网站建站销售怎么做权重提升
  • 中国建设招标网是私人网站吗九江网站建设网站制作
  • 自己创办网站wordpress 会话过期
  • 口碑好网站建设定制ui网站界面设计模板
  • 英语培训东莞网站建设中信建设有限责任公司 人力资源部
  • 安庆建设网站高碑店住房和城乡建设局网站
  • 专业手机网站建设多少钱网站图标的制作h1优化代码
  • 网站建设调研通知电脑网站和手机网站怎么做相同路径
  • 个人做网站简单的网站设计多少钱
  • 设计公司做网站有用吗网站制作最新技术
  • 老的网站为什么要改版新网站邢台市政建设集团网站
  • 海南智能网站建设报价学院网站建设 需求分析
  • 太原网站建设公司5858wordpress 支持vr吗
  • 网络推广培训有哪些课程枫林seo工具
  • dw做网站如何让用户可编辑网站提交自动秒收录
  • 网站后台建设招聘手机无法访问wordpress
  • 内部网站开发做网站维护的是什么人
  • 有服务器怎么做网站教程wordpress 内网ip
  • 网站建设创作思路怎么写企业的vi设计系统
  • 专业网站建设电话17网站一起做网店怎么拿货
  • 如何在自己网站添加链接wordpress 学校主题
  • 百度网站优化网站推广软件免费观看
  • 营销型网站页面摸板wordpress模板在线编辑
  • 茶叶有什么网站可以做推广石家庄百度推广开户
  • 网站模板没有html文件下载怎么上传网站iis