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

赣州北京网站建设二级域名做很多网站

赣州北京网站建设,二级域名做很多网站,制作网站的难度,长沙app开发报价文章目录 安装 Pinia创建 Pinia 实例定义 Store在组件中使用 Storepinia 增删改查在组件中使用响应式和插件1. 安装插件2. 配置 Pinia 插件3. 在 Store 中启用持久化4. 自定义持久化配置 安装 Pinia 首先,你需要安装 Pinia。可以通过 npm 或 yarn 来进行安装&#…

文章目录

    • 安装 Pinia
    • 创建 Pinia 实例
    • 定义 Store
    • 在组件中使用 Store
    • pinia 增删改查
    • 在组件中使用
    • 响应式和插件
      • 1. 安装插件
      • 2. 配置 Pinia 插件
      • 3. 在 Store 中启用持久化
      • 4. 自定义持久化配置

安装 Pinia

首先,你需要安装 Pinia。可以通过 npm 或 yarn 来进行安装:

npm install pinia
yarn add pinia

创建 Pinia 实例

在你的 Vue 应用程序中创建 Pinia 实例,并将其传递给 Vue 应用。通常在 main.js 或 main.ts 文件中进行:

// main.js
import { createApp } from 'vue';
import { createPinia } from 'pinia';
import App from './App.vue';const app = createApp(App);
const pinia = createPinia();app.use(pinia);
app.mount('#app');

定义 Store

Pinia 的核心概念是“store”。你可以创建一个 store 来管理相关状态。下面是一个简单的示例:

// stores/counter.js
import { defineStore } from 'pinia';export const useCounterStore = defineStore('counter', {state: () => ({count: 0,}),getters: {doubleCount: (state) => state.count * 2,},actions: {increment() {this.count++;},decrement() {this.count--;},},
});

在组件中使用 Store

一旦定义了 store,你可以在任何组件中使用它。下面是如何在组件中使用 useCounterStore 的示例:

<template><div><h1>{{ count }}</h1><h2>{{ doubleCount }}</h2><button @click="increment">Increment</button><button @click="decrement">Decrement</button></div>
</template><script>
import { useCounterStore } from '@/stores/counter';export default {setup() {const counterStore = useCounterStore();return {count: counterStore.count,doubleCount: counterStore.doubleCount,increment: counterStore.increment,decrement: counterStore.decrement,};},
};
</script>

pinia 增删改查

// stores/taskStore.js
import { defineStore } from 'pinia';export const useTaskStore = defineStore('task', {state: () => ({tasks: [],}),actions: {addTask(task) {this.tasks.push(task);},removeTask(taskId) {this.tasks = this.tasks.filter(task => task.id !== taskId);},updateTask(updatedTask) {const index = this.tasks.findIndex(task => task.id === updatedTask.id);if (index !== -1) {this.tasks[index] = updatedTask;}},getTask(taskId) {return this.tasks.find(task => task.id === taskId);},},
});

在组件中使用

<template><div><h1>任务管理</h1><input v-model="newTask" placeholder="新任务名称" /><button @click="addNewTask">添加任务</button><ul><li v-for="task in taskStore.tasks" :key="task.id">{{ task.name }}<button @click="removeTask(task.id)">删除</button><button @click="updateTask(task)">更新</button></li></ul></div>
</template><script>
import { ref } from 'vue';
import { useTaskStore } from '../stores/taskStore';export default {setup() {const taskStore = useTaskStore();const newTask = ref('');const addNewTask = () => {if (newTask.value.trim()) {taskStore.addTask({ id: Date.now(), name: newTask.value });newTask.value = ''; // 清空输入框}};const removeTask = (taskId) => {taskStore.removeTask(taskId);};const updateTask = (task) => {const updatedName = prompt('更新任务名称:', task.name);if (updatedName !== null) {taskStore.updateTask({ ...task, name: updatedName });}};return { taskStore, newTask, addNewTask, removeTask, updateTask };},
};
</script>

响应式和插件

Pinia 的状态是响应式的,因此当你更新状态时,任何依赖于该状态的组件都会自动重新渲染。

同时,你也可以为 Pinia 添加插件来实现诸如持久化状态、日志等功能。例如,如果你想要持久化状态,可以使用 pinia-plugin-persistedstate 插件。

1. 安装插件

首先,你需要在项目中安装 pinia-plugin-persistedstate。可以使用 npm 或 yarn 进行安装

# 使用 npm 安装
npm install pinia-plugin-persistedstate# 使用 yarn 安装
yarn add pinia-plugin-persistedstate

2. 配置 Pinia 插件

在创建 Pinia 实例时,需要将 pinia-plugin-persistedstate 作为插件添加进去。以下是一个示例代码:

// main.js 或 main.ts
import { createApp } from 'vue';
import { createPinia } from 'pinia';
import piniaPluginPersistedstate from 'pinia-plugin-persistedstate';
import App from './App.vue';// 创建 Pinia 实例
const pinia = createPinia();
// 使用持久化插件
pinia.use(piniaPluginPersistedstate);const app = createApp(App);
// 将 Pinia 实例挂载到应用中
app.use(pinia);
app.mount('#app');

3. 在 Store 中启用持久化

在定义 Pinia store 时,可以通过 persist 选项来启用持久化。以下是一个简单的 store 示例:

// store/counter.js 或 store/counter.ts
import { defineStore } from 'pinia';export const useCounterStore = defineStore('counter', {state: () => ({count: 0}),actions: {increment() {this.count++;}},// 启用持久化persist: true
});

4. 自定义持久化配置

你还可以对持久化进行更详细的配置,例如指定存储方式(localStorage 或 sessionStorage)、存储的键名等。以下是一个自定义配置的示例:

// store/counter.js 或 store/counter.ts
import { defineStore } from 'pinia';export const useCounterStore = defineStore('counter', {state: () => ({count: 0}),actions: {increment() {this.count++;}},persist: {// 存储方式,默认为 localStoragestorage: localStorage, // 存储的键名,默认为 store 的 idkey: 'my-counter-store', // 只持久化指定的状态paths: ['count'] }
});

在上述示例中,通过 storage 选项指定了存储方式为 localStorage,通过 key 选项指定了存储的键名,通过 paths 选项指定了只持久化 count 状态。


文章转载自:

http://xVCjpXAI.rnksg.cn
http://cTVshfGU.rnksg.cn
http://BGQXdIcB.rnksg.cn
http://E4TJsvOA.rnksg.cn
http://lYosQrkT.rnksg.cn
http://Y9g3DcMQ.rnksg.cn
http://fLMVOqEW.rnksg.cn
http://PjDrY7YI.rnksg.cn
http://8MpqGPwr.rnksg.cn
http://IuX87o4i.rnksg.cn
http://ObaDYbE9.rnksg.cn
http://YB2Ckw3T.rnksg.cn
http://kOztW5aq.rnksg.cn
http://FubyMgvb.rnksg.cn
http://d6nIgOBc.rnksg.cn
http://4d7VeCnE.rnksg.cn
http://dTI5CD40.rnksg.cn
http://oJXDDhXb.rnksg.cn
http://BrtSJgk1.rnksg.cn
http://h5lAvFm6.rnksg.cn
http://rv8cyhHH.rnksg.cn
http://pvlHJRq5.rnksg.cn
http://SoxDobG9.rnksg.cn
http://F6xmKqyZ.rnksg.cn
http://CtnQFiAN.rnksg.cn
http://vSW7U1lm.rnksg.cn
http://QAM0Bu7g.rnksg.cn
http://r8P3SPGL.rnksg.cn
http://yLZzPeXB.rnksg.cn
http://xU3Fz40A.rnksg.cn
http://www.dtcms.com/wzjs/752698.html

相关文章:

  • 网站搭建联系方式河南建设工程信息网下载
  • 网站开发书wordpress 数据库设计
  • 沙洋县住房和城乡建设局网站网站的pv是什么
  • 网站广告位怎么做荆门市网站建设
  • 做网站要多少钱呀一个seo良好的网站其主要流量往往来自
  • 江苏省医院网站建设管理规范微信网页版注册
  • 医院网站管理制度苏州工业园区官网
  • 资源下载网站源码wordpress消息系统
  • 如何查看网站是否被百度收录自己建设网站要花多少钱
  • 做网站审批号必须要网站建设技术外包
  • wordpress全站注明WordPress 主页缩略图链接
  • 乐陵网站服务在哪一条房产网站建设价格
  • 新校区建设网站管理规定百度浏览器主页网址
  • 网站网页设计模板下载wordpress显示空白页
  • 工信部 加强网站备案怎样做网站备案
  • 手机网站怎么设置成电脑版的邯郸制作网站的公司
  • 网站安全建设情况报告闵行区网站设计
  • 成都公布最新轨迹秦皇岛网络优化排名
  • 网站建设中如何使用字体2345网址导航怎么卸载
  • 武穴网站建设国外免费域名申请
  • 个人网站建设教程pdfapp设计欣赏
  • 网站动画效果怎么做天津专业网站建设
  • 社区网站 备案wordpress只显示纯文字
  • 自个网站怎么做网站主
  • 百度seo教程网网站运营seo实训总结
  • 重庆科技网站建设网站建成后应该如何推广
  • 1688网站怎么做分销邯郸做淘宝网站
  • 重庆装修网站建设怎样做网站后台优化
  • 网站 被攻击_主业篡改 被黑了 织梦做的站刷评论网站推广
  • 电子商务网站建设的特点宁波租房网