【发布时间】:2019-05-23 04:11:57
【问题描述】:
Shiny 模块环境的新手,我正在尝试设置一个基本脚手架,用于将 UI 的选项卡式组件和其他组件从 ui.r 和 server.r 中分离出来
目前我有以下4个文件:
ui.r
navbarPage(id = "main", windowTitle = "Dashboard Title", position =
"fixed-top", header = "Header Text?", title = "Application Logo <To Do>",
navbarMenu("Company Dashboards", icon = icon("dashboard"),
tabPanel(title = "Sales", value = "SalesModule", icon = icon("bar-chart-o"), salesModuleUI("SalesModule")))
server.r
shinyServer(function(input, output, session){
### Modules
callModule(module = salesModule, id = "SalesModule")
})
global.r
#######
# Libraries
#######
library(shiny)
library(shinydashboard)
library(dplyr)
library(highcharter)
library(DT)
#######
# Source Files
#######
source("modules/salesModule.r")
salesModule.r
salesModuleUI <- function(id){
ns <- NS(id)
}
######
# salesDashboard Server
######
salesModule <- function(input,output,session){
ns <- session$ns
}
如果我从 ui.r 中删除“value = salesModule”和 salesModuleUI 调用,则应用程序加载正常。一旦我将它们添加到使用 salesModuleUI 填充选项卡面板(现在两个 UI 都应该为空),我就会收到错误消息:
警告:as.character 中的错误:无法将“闭包”类型强制转换为“字符”类型的向量
但这个问题似乎与代码中的反应性调用有关,我还没有为此添加反应性。我还评论了:https://github.com/FrissAnalytics/shinyJsTutorials
还有他的代码,这就是这个设置结构的来源。
强制问题似乎相当普遍,并且修复围绕正在传递的数据类型和期望进行。但是,从我可以进行故障排除来看,代码应该期待一个字符向量,而我正在传递一个字符向量。
想到我哪里出错了?
【问题讨论】:
标签: r shiny shinydashboard