在反应函数/上下文之外更改变量

Sto*_*ace 3 r reactive-programming shiny

我正在寻找一种方法来更改变量,该变量已在闪亮的应用程序中的反应性上下文之外初始化.

含义:我需要设置两个变量,具体取决于闪亮应用程序中发生的情况,TRUEFALSE.

这需要从一个反应函数来完成.

例:

a <- FALSE
c <- FALSE

observeEvent(input$test, { #this triggers c to change to TRUE
    a <- FALSE
    c <- TRUE
)}
Run Code Online (Sandbox Code Playgroud)

有些用户点击了测试按钮label

> c
> TRUE
Run Code Online (Sandbox Code Playgroud)

Pau*_*tra 6

如果我正确理解你的问题(你无法cobserveEvent函数内部更新),你需要将你的c变量置于被动状态并在以下内容中进行更改observeEvent:

variables = reactiveValues(a = FALSE, c = FALSE)

observeEvent(input$test, {
    variables$a = FALSE
    variables$c = TRUE
})
Run Code Online (Sandbox Code Playgroud)

然后你可以variables$c在你的代码中使用,variables如果按下按钮(例如情节),任何取决于的东西都会更新.