Я использую блестящий, но используя мои собственные CSS и HTML. Я столкнулся с проблемой, когда я не могу передать значение в свой пользовательский интерфейс с сервера и поместить его в тег div.
То, к чему я стремлюсь:
######all my code#####
<div style="color:{{textOutput("my_variable")}}"
####rest of code####
По какой-то причине, глянцевый не будет правильно передавать значение, и поэтому мое приложение не загружается должным образом.
Вот полный код
library(shiny)
test_date <- as.Date(c('2019-01-01','2019-01-02','2019-01-03','2019-01-04'))
score <- c(75,80,85,90)
my_dataframe <- data.frame(test_date, score)
getColor <- function(x) {
if (x > 80) {
result <- "green"
}
else if (x > 50) {
result <- "yellow"
}
else {
result <- "red"
}
return(result)
}
ui <- htmlTemplate(
text_ = '
<html>
<head>
{{headContent()}}
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script type="application/shiny-singletons"></script>
<script type="application/html- dependencies">json2[2014.02.04];jquery[1.12.4];shiny[1.2.0]</script>
</head>
<body>
<div style="color:{{textOutput("score_color")}}">{{textOutput("score_value")}}</div>
</body>
</html>'
)
server <- function(input, output, session) {
output$score_value <- renderText(
{mean(my_dataframe$score)}
)
output$score_color <- renderText(
{getColor(mean(my_dataframe$score))}
)
}
shinyApp(ui, server)
Так что, если бы это работало правильно, я бы увидел ответ 82.5, выделенный красным текстом.