Pinia+Router学习笔记(三)

简介: 本节记录解构Store过程中的相关操作及注意事项

Pinia不允许直接解构Store,因为Store背后使用的是proxy对象,直接解构会导致其失去响应式

<template>
    <div>pinia:{{ Test.current }}---{{ Test.name }}---{{ Test.num }}</div>
</template>

<script setup lang="ts">
import { useTestStore } from './Store'

const Test = useTestStore()
let { current, num } = Test
current = '失去了响应式'
</script>

<style scoped></style>

此时修改解构出来的数据将不会对模板上的内容产生任何影响。为了解决这个问题,Pinia提供了storeToRefs来为这些数据重新恢复响应式,不过要额外加上.value(和toRef相同,给里面的数据包裹一层响应式对象)

<template>
    <div>pinia:{{ Test.current }}---{{ Test.name }}---{{ Test.num }}</div>
</template>

<script setup lang="ts">
import { useTestStore } from './Store'
import { storeToRefs } from 'pinia';

const Test = useTestStore()
let { current, num } = storeToRefs(Test)
current.value = '现在我是响应式的了'
</script>

<style scoped></style>

这种用法和直接Test.current = '现在我是响应式的了'相同

相关文章
|
22天前
|
JavaScript
vue.router和vue.route
vue.router和vue.route
|
22天前
|
JavaScript
|
22天前
|
缓存 移动开发 JavaScript
【学习笔记】Vue Router
【学习笔记】Vue Router
34 0
|
9月前
|
缓存 JavaScript
Vue Router 学习 new Router
Vue Router 学习 new Router
85 0
|
JSON JavaScript Java
vue,router,axios练习
vue,router,axios练习
|
前端开发
Pinia+Router学习笔记(四)
本节记录Pinia中Action和Getters相关知识点
106 0
|
网络架构
Pinia+Router学习笔记(十)
本节记录Vue-Router的两种路由传参方式
140 0
|
API
Pinia+Router学习笔记(五)
本节记录例API和Pinia持久化插件相关内容
68 0
|
存储
Pinia+Router学习笔记(六)
从本节开始进入Router学习,先介绍下Vue-Router的基本配置
58 0
|
JavaScript
Pinia+Router学习笔记(一)
本系列笔记内容根据B站up主“小满zs”视频教程整理而成,本节记录pinia的搭建过程
119 0