5.14 学习vue3

搭建pinia环境

  • 下载pinia 终端输入:pnpm i pinia

操作src/main.ts

  • 第一步:引入pinia

  import { createPinia } from "pinia";
  • 第二步:创建pinia

  
  const pinia = createPinia()
  • 第三步:安装pinia

  
  app.use(pinia)

存储+读取数据

  1. Store是一个保存:状态业务逻辑 的实体,每个组件都可以读取写入它。

  2. 它有三个概念:stategetteraction,相当于组件中的: datacomputedmethods

  3. 具体编码:src/store/count.ts

      // 引入defineStore用于创建store
      import {defineStore} from 'pinia'
      ​
      // 定义并暴露一个store
      export const useCountStore = defineStore('count',{
        // 动作
        actions:{},
        // 状态
        state(){
          return {
            sum:6
          }
        },
        // 计算
        getters:{}
      })
  4. 具体编码:src/store/talk.ts

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

      
      <template>
        <h2>当前求和为:{{ sumStore.sum }}</h2>
      </template>
      ​
      <script setup lang="ts" name="Count">
        // 引入对应的useXxxxxStore 
        import {useSumStore} from '@/store/sum'
        
        // 调用useXxxxxStore得到对应的store
        const sumStore = useSumStore()
      </script>
      
      <template>
        <ul>
          <li v-for="talk in talkStore.talkList" :key="talk.id">
            {{ talk.content }}
          </li>
        </ul>
      </template>
      ​
      <script setup lang="ts" name="Count">
        import axios from 'axios'
        import {useTalkStore} from '@/store/talk'
      ​
        const talkStore = useTalkStore()
      </script>
在Qt 5.14中使用SQLite3数据库,可参考以下内容。SQLite是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,包含在一个相对小的C库中,设计目标是嵌入式的,占用资源非常低,能支持Windows/Linux/Unix等主流操作系统,还可与很多程序语言相结合,处理速度比Mysql、PostgreSQL快,第一个Alpha版本诞生于2000年5月 [^3]。 在Qt中使用SQLite数据库,Qt自带了QSQLITE (SQLite 3) 数据库,在路径 `~/Qt5.4.1/5.4/gcc_64/plugins/sqldrivers/` 下有数据库 `.so` 动态库文件,若使用别的数据库可下载后直接拷贝到该目录就能使用 [^2]。 要熟练掌握SQLite的基本语法,使用C++操作SQLite会更方便,相关代码也能容易集成到Qt项目,实现Qt对SQLite的操作,还可避免使用Qt的数据库模块,同时可借助SQLite可视化工具辅助操作 [^1]。 以下是一个简单的在Qt 5.14中使用SQLite3数据库的示例代码: ```cpp #include <QCoreApplication> #include <QSqlDatabase> #include <QSqlQuery> #include <QSqlError> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); // 加载SQLite驱动 QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); // 设置数据库文件名 db.setDatabaseName("test.db"); // 打开数据库 if (!db.open()) { qDebug() << "Failed to open database:" << db.lastError().text(); return 1; } // 创建表 QSqlQuery query; if (!query.exec("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER)")) { qDebug() << "Failed to create table:" << query.lastError().text(); return 1; } // 插入数据 if (!query.exec("INSERT INTO users (name, age) VALUES (&#39;John&#39;, 25)")) { qDebug() << "Failed to insert data:" << query.lastError().text(); return 1; } // 查询数据 if (!query.exec("SELECT * FROM users")) { qDebug() << "Failed to query data:" << query.lastError().text(); return 1; } while (query.next()) { int id = query.value(0).toInt(); QString name = query.value(1).toString(); int age = query.value(2).toInt(); qDebug() << "ID:" << id << "Name:" << name << "Age:" << age; } // 关闭数据库 db.close(); return a.exec(); } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值