обзор в блестящей гибкой панели - PullRequest
0 голосов
/ 03 октября 2018

У меня есть flexdashboard , который использует блестящий.Вот репо MRE и gist из .Rmd.Когда я запустил приложение на shinyapps.io, я понял, что действия одного пользователя могут повлиять на других пользователей.Я понимаю, что это проблема с областями видимости, но я не совсем понимаю, как работает область видимости во Flexdashboard.

Эта страница объясняет область видимости для «обычных» блестящих приложений:

Возможно, вы захотите, чтобы некоторые объекты были видны во всех сеансах.Например, если у вас большие структуры данных или если у вас есть вспомогательные функции, которые не являются реактивными (те, которые не включают объекты ввода или вывода), вы можете создать эти объекты один раз и совместно использовать их во всех сеансах пользователя (в пределахтот же процесс R), поместив их в app.R, но вне определения серверной функции.

В Flexdashboard отсутствует файл app.R или функция server.Как работает область видимости в этих типах блестящих приложений?

У меня есть несколько таких функций eventReactive(), которые обновляются для пользователя 2, когда пользователь 1 нажимает на отправку и запускает observeEvent(input$submit, {}) в конце файла.

eventReactive(rv$run2, {

    if (remote==1) {
      master$df <- drop_read_csv("/dash/master.csv", stringsAsFactors = FALSE)

    } else {
      master$df <- read.csv("dash/master.csv", stringsAsFactors = FALSE)
    }

  }, ignoreNULL = TRUE)

Первоначально я опубликовал это в RStudio Community около 9 часов назад, но это не вызвало много просмотров (<20) или каких-либо обсуждений. </p>

1 Ответ

0 голосов
/ 17 октября 2018

Перемещение rv <- reactiveValues() из фрагмента global сделало свое дело.

...