【vue】-

目录

  • pinia
    • 搭建pinia环境
    • 存储、读取数据
    • 修改数据(三种方式)

pinia

搭建pinia环境

一、第一步:npm install pinia
二、第二步:操作src/main.ts

import { createApp } from 'vue'
import App from './App.vue'/* 引入createPinia,用于创建pinia */
import { createPinia } from 'pinia'/* 创建pinia */
const pinia = createPinia()
const app = createApp(App)/* 使用插件 */{}
app.use(pinia)
app.mount('#app')

存储、读取数据

一、Store是一个保存:状态业务逻辑 的实体,每个组件都可以读取写入它,它有三个概念:stategetteraction,相当于组件中的: datacomputedmethods。具体编码:src/store/count.ts

   // 引入defineStore用于创建storeimport {defineStore} from 'pinia'// 定义并暴露一个storeexport const useCountStore = defineStore('count',{// 动作actions:{},// 状态state(){return {sum:6}},// 计算getters:{}})

具体编码:src/store/talk.ts

   // 引入defineStore用于创建storeimport {defineStore} from 'pinia'// 定义并暴露一个storeexport const useTalkStore = defineStore('talk',{// 动作actions:{},// 状态state(){return {talkList:[{id:'yuysada01',content:'你今天有点怪,哪里怪?怪好看的!'},{id:'yuysada02',content:'草莓、蓝莓、蔓越莓,你想我了没?'},{id:'yuysada03',content:'心里给你留了一块地,我的死心塌地'}]}},// 计算getters:{}})

二、组件中使用state中的数据

<template><div class="count"><h2>当前求和为:{{ countStore.sum }}</h2><select v-model.number="n"><option value="1">1</option><option value="2">2</option><option value="3">3</option></select><button @click="add"></button><button @click="minus"></button></div>
</template><script setup lang="ts" name="Count">import { ref,reactive } from "vue";// 引入对应的useXxxxxStoreimport {useCountStore} from '@/store/count'// 调用useXxxxxStore得到对应的storeconst countStore = useCountStore()// 以下两种方式都可以拿到state中的数据console.log('@@@',countStore.sum)// console.log('@@@',countStore.$state.sum)/*   
let obj = reactive({a:1,b:2,c:ref(3)})let x = ref(9)console.log(obj.a)console.log(obj.b)console.log(obj.c)// c是由reactive包裹的ref,在获取c的值时,不用.value,直接obj.c即可
*/// 数据let n = ref(1) // 用户选择的数字// 方法function add(){}function minus(){}
</script>
<template><div class="talk"><button @click="getLoveTalk">获取一句土味情话</button><ul><li v-for="talk in talkStore.talkList" :key="talk.id">{{talk.title}}</li></ul></div>
</template><script setup lang="ts" name="LoveTalk">import {reactive} from 'vue'import axios from "axios";import {nanoid} from 'nanoid'import {useTalkStore} from '@/store/loveTalk'const talkStore = useTalkStore()// 方法async function getLoveTalk(){// 发请求,下面这行的写法是:连续解构赋值+重命名// 从请求中解构出data,从data中解构出content并将其命名为title// let {data:{content:title}} = await axios.get('https://api.uomg.com/api/rand.qinghua?format=json')// 把请求回来的字符串,包装成一个对象// let obj = {id:nanoid(),title}// 放到数组中// talkList.unshift(obj)}
</script>

修改数据(三种方式)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/628706.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何将github copilot当gpt4用

现在写代码已经离不开ai辅助了我用的是github copilot&#xff0c;一方面是因为它和vscode结合得比较好&#xff0c;另一方面就是copilot chat了。可以在不切换工具的情况下&#xff0c;问它问题&#xff0c;在copilot chat还在内测阶段的时候我就申请使用了&#xff08;现在已…

Android studio 简单登录APP设计

一、登录界面: 二、xml布局设计: <LinearLayoutandroid:id="@+id/linearLayout"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:layout_editor_absoluteX="…

Git Merge、Rebase 和 Squash 之间的区别

文章目录 Git MergeGit RebaseGit Squash结论 作为一名开发人员&#xff0c;您可能使用过 Git 和 GitHub&#xff0c;掌握了版本控制的要点。通常通过拉取请求将分支的更改集成到主分支中是一项常见任务。许多人的默认选择是“合并”功能。 然而&#xff0c;版本控制领域提供了…

多级缓存(nginx本地缓存、JVM进程缓存、redis缓存)

文章目录 整体示意图1.nginx缓存2.进程缓存Caffeine示例 3.Lua语法(为了在nginx中做编程)4.OpenResty5.封装向Tomcat发送的Http请求&#xff0c;获取数据6.Tomcat集群的负载均衡7.redis缓存8.查询Redis缓存9.Nginx本地缓存 整体示意图 1.nginx缓存 2.进程缓存 Caffeine示例 3.…

纯前端实现加减运算验证码

纯前端实现加减运算验证码 实现效果 //页面展示 <template><view class"form-input-item" style"padding:8rpx 22rpx;"><input class"form-input" placeholder"请输入验证码" type"text" maxlength"6…

使用Python读写Redis——Lists

之前详细介绍了 Redis命令 - Lists命令组常用命令&#xff0c;同样的命令&#xff0c;本文将用python调用redis库封装好的方法。 要操作的Lists命令如下 1、LSET key index value 2、LINSERT key BEFORE|AFTER pivot value 3、LPUSH key value [value …] 4、RPUSH key value …

【加速排坑】docker设置国内image镜像源

第零步&#xff0c;查看阿里最新的镜像源&#xff1a;https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 第一步&#xff1a;在/etc/docker/daemon.json中添加镜像源 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-EOF {"registry-m…

C++随机数生成:std标准库和Qt自带方法

std标准库 std::rand()是C中的一个随机数函数&#xff0c;它生成一个范围在0到RAND_MAX之间的伪随机整数。 在使用std::rand()之前&#xff0c;需要包含<cstdlib>头文件。 #include <cstdlib> 设置种子 在每次程序运行时&#xff0c;通常需要使用不同的种子值…

基于pyqt5+scapy 根据ip 具体端口 进行扫描 的程序

先给出代码 import sysfrom PyQt5 import uic from PyQt5.QtWidgets import *from scapy.all import * import argparse import logging from scapy.layers.inet import IP, TCP from scapy.sendrecv import sr1class MyWindow(QWidget):def __init__(self):super().__init__(…

【QML COOK】- 010-动态创建组件

上节介绍了Component的概念&#xff0c;本节介绍一下如何使用javascript动态创建对象。 1. 创建工程&#xff0c;新建一个MyComponent.qml的qml import QtQuickRectangle {color: "red" }它很简单就是一个红色框 2. 编辑main.qml import QtQuickWindow {id: root…

Vscode 上安装 Compilot

GitHub Copilot 是由 OpenAI 和 GitHub 开发的 AI 工具。其目的是通过自动完成代码来帮助开发人员使用集成开发环境 &#xff08;IDE&#xff09;&#xff0c;如 Visual Studio Code。它目前仅作为技术预览版提供&#xff0c;因此只有已在候补名单上被接受的用户才能访问它。对…

MySQL 管理端口

错误 客户出现 MySQL连接数 超过 最大连接数的现象 ERROR 1040 (HY000): Too many connections 出现该现象&#xff0c;一般的解决方法&#xff1a; 1.修改配置文件中的最大连接数&#xff0c;之后重启数据库 2.如果配置文件中没有设置 连接超时时间的参数。8小时后&#…

xbox如何提升下载速度

Xbox下载速度慢的问题通常是由于网络环境或微软服务器的问题。以下是一些提升Xbox下载速度的方法&#xff1a; 使用加速器&#xff1a;如果您的网络环境不稳定或存在其他问题&#xff0c;可以使用加速器来优化网络环境&#xff0c;从而提高下载速度。检查网络连接&#xff1a;…

gin-vue-admin二开使用雪花算法生成唯一标识 id

场景介绍 需求场景&#xff1a; 总部采集分支的数据&#xff0c;由于分支的 id 是子增的主键 id&#xff0c;所以会出现重复的 id&#xff0c;但是这个 id 需要作为标识&#xff0c;没有实际作用&#xff0c;这里选择的是分布式 id 雪花算法生成 id 存储用来标识&#xff0c;这…

GAMES104-现代游戏引擎:从入门到实践 - 物理引擎课程笔记汇总

文章目录 0 入门资料1 物理引擎基本概念Actor & shapesRigid body dynamicsCollision DetectionCollision Resolution 应用与实践Character controllerRagdoll 0 入门资料 GAMES104-现代游戏引擎&#xff1a;从入门到实践_课程视频_bilibiliGAMES104官方账号 - 知乎课程主页…

微服务实战项目_天机学堂01_初识项目

文章目录 一.项目简述二.Jenkins三.模拟真实业务:紧急bug修复和代码阅读 一.项目简述 Q:天机学堂是什么? A:天机学堂是一个基于微服务架构的生产级在线教育项目 主要有两个端(项目已上线,可以点击查看): 管理后台: https://tjxt-admin.itheima.net 其核心业务主体包括老师、…

QT上位机开发(dock窗口在软件布局中的应用)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 在软件开发中&#xff0c;一般有主窗口和子窗口之分。主窗口也就是main window&#xff0c;是最重要的操作界面。子窗口就是各种属性配置、参数配置…

NOIP2018提高组day2 - T1:旅行

题目链接 [NOIP2018 提高组] 旅行 题目描述 小 Y 是一个爱好旅行的 OIer。她来到 X 国&#xff0c;打算将各个城市都玩一遍。 小 Y 了解到&#xff0c;X 国的 n n n 个城市之间有 m m m 条双向道路。每条双向道路连接两个城市。 不存在两条连接同一对城市的道路&#xff…

uniapp使用安装sass

1.首先你要安装node-sass npm install node-sass --save-dev2.安装sass-loader npm install sass-loader --save-dev3.修改style标签&#xff0c;声明使用sass <style lang"scss" scoped>

做完十年数据分析后的思考与总结

种一棵树最好的时间是十年前&#xff0c;其次是现在。十年了&#xff0c;本次分享大多来自工作中的日常所思所想&#xff0c;欢迎自取。 01 数据分析的本质 数据是基础&#xff0c;分析才是重点。 行业内有专门的统计岗&#xff0c;就是只负责做好数据统计就可以了&#xff0…