首页 > 其他分享 > ai问答:Vue3中使用computed和watch监听pinia数据的区别

ai问答:Vue3中使用computed和watch监听pinia数据的区别

时间:2023-06-09 10:23:42浏览次数:45  
标签:count localCount computed ai watch pinia Vue3 store

在Vue3中,通过computed来监听pinia中的state数据:

import { defineStore } from 'pinia'
import { useStore } from 'pinia'
import { computed } from 'vue'

const store = defineStore('store', {/* ... */})

export default {
  setup() {
    const doubledCount = computed(() => {
      return useStore().count * 2
    })
    
    return {
      doubledCount
    }
  }
}

这里,通过computed()创建一个计算属性doubledCount,在getter函数中使用useStore()获取pinia的state,并返回计算后的值。
那么doubledCount就会依赖store.count,当store.count变化时,doubledCount也会更新。

watch

import { defineStore } from 'pinia'
import { useStore } from 'pinia'
import { watch } from 'vue'

const store = defineStore('store', {/* ... */})

export default {
  setup() {
    const localCount = useStore().count
    
    watch(localCount, (newValue) => {
      // 监听localCount,当store.count变化时也会触发
      console.log(newValue)
    })
  }
}

这里,通过useStore()从pinia state中获取localCount。
然后通过watch来监听localCount,因为localCount依赖store.count,所以当store.count变化时,watch的回调也会触发,实现了pinia state变化的响应。

标签:count,localCount,computed,ai,watch,pinia,Vue3,store
From: https://www.cnblogs.com/vmto/p/17468408.html

相关文章

  • [从jQuery看JavaScript]-变量与作用域链(Variable and Scope Chain)
    jQuery片段: 1.var2.//Willspeedupreferencestowindow,andallowsmungingitsname.3.window=this,4.//Willspeedupreferencestoundefined,andallowsmungingitsname.5.undefined,6.//MapoverjQueryinc......
  • 【人人懂AI】用chatGPT学会大模型GPT
    1.一句话掌握最新关键知识点1.1什么是chatGPT?chatGPT是基于OpenAI公司的人工智能大模型GPT系列开发出的一个网页版的对话机器人。用户可以在网页登录与chatGPT进行语言交流,支持多种主流语言,chatGPT与传统大的智能对话机器人不同,它可以几乎接近人类的理解和表达能力,在对话中扮......
  • demosaicnet-master的包代码阅读笔记
    init.py我在学init用法时候的笔记该文件里面都是导入模块,其中从dataset.py是导入所有模块,因为模糊导入的__all__没有定义。from.modulesimportBayerDemosaickfrom.modulesimportXTransDemosaickfrom.mosaicimportxtransfrom.mosaicimportbayerfrom.mosaicim......
  • [MDP.DevKit.OpenAI] 使用OpenAI API+C#開發的客服機器人範例
    使用OpenAIAPI+C#開發的客服機器人範例,能讀取知識內容來回答問題。客戶問題:-我想喝綠豆湯該去哪一樓?客服回答:-您可以前往B2的美食生活館,那裡有各種美食餐廳、烘焙店、糕點店、特色咖啡館,以及食品超市,或是售賣烹飪器具、餐具等生活用品店,您可以在那裡找到綠豆湯。知識內容:-......
  • ORACLE中Drop table cascade constraints
    当你要drop一个table时,如果删除table的动作会造成trigger或constraint产生矛盾,系统会出现错误警告的讯息而不会允许执行.。一个极简单的例子,例如你有一个员工基本资料表,上面可能有员工编号和员工姓名等字段,另外有一个员工销售表,上面有员工编号和员工销售额两个字段,员工薪资......
  • 总结vue3 的一些知识点:MySQL 运算符
    MySQL运算符本章节我们主要介绍MySQL的运算符及运算符的优先级。MySQL主要有以下几种运算符:算术运算符比较运算符逻辑运算符位运算符算术运算符MySQL支持的算术运算符包括:运算符作用+加法-减法*乘法/或DIV除法%或MOD取余在除法......
  • 总结vue3 的一些知识点:MySQL NULL 值处理
    MySQLNULL值处理我们已经知道MySQL使用SQLSELECT命令及WHERE子句来读取数据表中的数据,但是当提供的查询条件字段为NULL时,该命令可能就无法正常工作。为了处理这种情况,MySQL提供了三大运算符:ISNULL: 当列的值是NULL,此运算符返回true。ISNOTNULL: 当列的......
  • GMail add 'voice and video chat' support
    GMail增加对视频聊天的支持(可能需要代理才可访问)需要安装额外的插件以支持插件会安装在C:\DocumentsandSettings\UserName\LocalSettings\ApplicationData\Google\GoogleTalkPlugin下,例如:我的在C:\DocumentsandSettings\Nick\LocalSettings\ApplicationData\Googl......
  • 总结vue3 的一些知识点:MySQL 排序
    MySQL排序我们知道从MySQL表中使用SQLSELECT语句来读取数据。如果我们需要对读取的数据进行排序,我们就可以使用MySQL的 ORDERBY 子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果。语法以下是SQLSELECT语句使用ORDERBY子句将查询数据排序后再返回......
  • 总结vue3 的一些知识点:MySQL NULL 值处理
    MySQLNULL值处理我们已经知道MySQL使用SQLSELECT命令及WHERE子句来读取数据表中的数据,但是当提供的查询条件字段为NULL时,该命令可能就无法正常工作。为了处理这种情况,MySQL提供了三大运算符:ISNULL: 当列的值是NULL,此运算符返回true。ISNOTNULL: 当列的......