Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >单击事件后从可组合的位置启动useStore()

单击事件后从可组合的位置启动useStore()
EN

Stack Overflow用户
提问于 2022-08-08 03:55:34
回答 1查看 346关注 0票数 2

我有一个简单的Vue.js代码,当用户能够从BLE设备触发命令时。所以我创建了一个可组合的"useSession“,它连接到IoT设备、网关和服务器,并在每个服务器中将数据推送到存储区,主要是日志。回顾一般的结构,here's an example

到目前为止,我使用自定义的useSession()可组合函数从主页组件的setup()方法中创建并连接到设备,而useStore()在可组合函数中工作得很好。

现在我的应用程序更复杂了,所以我添加了一个按钮来触发可组合方法。因此,当单击该按钮时,会话将创建所有3个连接(useSession().create())

结果是:

无法读取未定义的属性(读取“提交”)

查看这个问题,我发现了以下内容:https://forum.vuejs.org/t/is-it-possible-to-access-usestore-from-another-usexxx-composable/114230

--您应该能够从可组合的内部调用useStore,只要可组合本身是从安装程序中调用的。通常的规则是必须在安装程序的同步执行过程中调用它,而不是在异步回调中调用它。

为了缩小这个问题,我建议在调用useStore之前,在安装函数中调用useAuth,以确认它可以从那里访问商店。

因此,我很清楚为什么这不起作用,但不确定是否将存储传递给我连接到的每个实例是最佳实践。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-08 05:43:54

可组合性主要是在创建组件实例时使用的--直接在安装函数/块或相应的options (databeforeCreate)中使用。任何其他用途都取决于它们的实现,需要进一步确认。

预计useStore使用inject通过组件层次结构传播存储值,这在安装过程中才被允许。

由于使用可合成的方法会导致问题,因此需要对其进行合理的说明。在全球商店中使用它只有几个原因。可组合允许延迟访问存储,这对于解决循环依赖关系很有用。provide/inject允许使用依赖注入,项目的组件可以从根组件获得不同的默认存储,这是一个角落情况,例如,对于多应用程序项目。

在任何其他情况下,Vuex/Pinia商店都可以直接从使用它的地方进口。这需要在一个单独的模块中定义它。

除了安装函数/块之外,还需要使用可组合的useSession,这意味着它的设计或使用不正确。一般情况下,这个案件的处理方式如下:

代码语言:javascript
运行
AI代码解释
复制
<script setup>
...
const session = useSession() // calls useStore

const clickHandler = () => {
  session.create()
}
</script>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73277487

复制
相关文章
Mysql中的条件语句if、case
Mysql中的条件语句在我们对数据进行转换的时候比较有用,这样就不需要创建中转表。
大江小浪
2018/07/24
6.8K0
mysql case when 多参数条件语法
下面的 sql 语句是要将 status 列根据一个条件或者多条件转换为对应的值. 其中要注意 case 关键字后面不能带上列名 status 而是直接跟上 when 关键词, 不然会导致转换无效. SELECT id, case WHEN cast(`status` AS SIGNED) < 45 THEN '1' WHEN cast(`status` AS SIGNED) > 44 AND vacant_time IS NOT NULL AND vacant_time != '' THEN '3' WH
zcqshine
2018/05/11
8.7K0
Shell case条件语句的应用实践
语法格式 case "变量" in 值1) 指令1 ;; 值2) 指令2 ;; *) 指令3 ;; esac 示例 #!/bin/bash read -p "请输入[1-3]数字:" a case "$a" in 1) echo "1" ;; 2) echo "2" ;; 3) echo "3"
云计算小黑
2022/12/28
1K0
shell脚本快速入门系列之------条件语句(if、case)
test命令 测试特定的表达式是否成立,当条件成立时,测试语句的返回值为0,否则为其他数值
不吃小白菜
2020/09/03
6130
shell脚本快速入门系列之------条件语句(if、case)
mysql的case when语法_sql基本语句大全
CASE 具有两种格式:简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。 CASE 搜索函数计算一组布尔表达式以确定结果。 两种格式都支持可选的 ELSE 参数。
全栈程序员站长
2022/10/04
3.9K0
mysql的case when语法_sql基本语句大全
[Python从零到壹] 二.语法基础之条件语句、循环语句和函数
在讲诉条件语句之前,需要先补充语句块的知识。语句块并非一种语句,它是在条件为真时执行一次或执行多次的一组语句,在代码前放置空格缩进即可创建语句块。它类似于C、C++、Java等语言的大括号({ })来表示一个语句块的开始和结束。
Eastmount
2021/12/02
8200
[Python从零到壹] 二.语法基础之条件语句、循环语句和函数
[Python从零到壹] 二.语法基础之条件语句、循环语句和函数
欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界。所有文章都将结合案例、代码和作者的经验讲解,真心想把自己近十年的编程经验分享给大家,希望对您有所帮助,文章中不足之处也请海涵。
Eastmount
2021/02/20
9340
Rust基础语法(条件控制语句if、loop、while、for)
if 表达式允许根据条件执行不同的代码分支。你提供一个条件并表示 “如果条件满足,运行这段代码;如果条件不满足,不运行这段代码。” 无返回值执行:
共饮一杯无
2022/11/28
8020
shell脚本中的case条件语句介绍和使用案例
#前言:这篇我们接着写shell的另外一个条件语句case,上篇讲解了if条件语句。case条件语句我们常用于实现系统服务启动脚本等场景,case条件语句也相当于if条件语句多分支结构,多个选择,case看起来更规范和易读
老油条IT记
2020/04/08
6.5K0
shell脚本中的case条件语句介绍和使用案例
(33)if、case语句
②[ 条件判断式 ]就是使用test命令判断,所以中括号和条件判断式之间必须有空格
生信real
2020/09/10
1.3K0
(7)case语句[通俗易懂]
总结:把安装php的各种版本一个文件,文件里面是函数安装php各种版本的函数,然后在入口文件使用. /server/scripts/php.sh加载这个文件,在定义函数调用文件中的函数功能即可
全栈程序员站长
2022/09/20
1K0
(7)case语句[通俗易懂]
SystemVerilog-决策语句-case语句
经过几周的更新,SV核心部分用户自定义类型和包内容已更新完毕,接下来就是RTL表达式和运算符。
碎碎思
2022/11/14
3.8K0
SystemVerilog-决策语句-case语句
CASE语句与CASE表达式
case语句与case表达式是plsql流程控制的重要组成部分,尽管其使用方法较为简单,但容易混淆。本文将描述case语句与case表达式并给出演示以便于更好理解两者的异同及使用时的注意事项。 一、简单case语句
Leshami
2018/08/14
1.4K0
Swift基础语法(二)条件控制语句的认识
本章开始学习条件控制语句,包括if、while、for、Switch、guard语句。
CC老师
2022/03/15
7940
Swift基础语法(二)条件控制语句的认识
MySQL CASE WHEN语法
Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。 所以,Case函数中Else部分的默认值是NULL,这点是需要注意的地方。
关忆北.
2021/12/07
9620
mysql,case when语法
SELECT                 case                   -------------如果     when sex='1' then '男' -------------sex='1',则返回值'男'     when sex='2' then '女' -------------sex='2',则返回值'女'       else 0                 -------------其他的返回'其他’     end                    -------------结束 from   sys_user            --------整体理解: 在sys_user表中如果sex='1',则返回值'男'如果sex='2',则返回值'女' 否则返回'其他’ ---用法一: SELECT              CASE
DencyCheng
2019/03/05
1.2K0
Java switch case语句
swith 语句主要用于判断一个变量与一系列值中某个值是否相等,每一个值称为一个分支。基本格式如下:
算法与编程之美
2022/10/28
1.4K0
Java switch case语句
case语法案例
启动服务命令/application/nginx/sbin/nginx 停止服务命令/application/nginx/sbin/nginx -s stop 实现/etc/init.d/nginxd {start|stop|restart},并可chkconfig开机自起
jackxiao
2021/11/16
1830
java switch case 语句
switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支。
taoli
2022/09/30
1.5K0
java switch case 语句
Java基础语法(八)与条件控制语句再续前缘之switch语句
什么是质数:只能被1和他本身整除的数就是质数。 例如:2、3、5、7、11、13…
全栈程序员站长
2021/05/19
4810

相似问题

WHERE条件下的OpenSQL语法CASE语句

10

Case语句语法MySQL

23

Mysql Case语句语法

10

SQL Case语句语法

31

SQL Case语句条件

241
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档