首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用htmltools::attachDependencies?

如何使用htmltools::attachDependencies?
EN

Stack Overflow用户
提问于 2022-05-09 09:43:12
回答 1查看 78关注 0票数 1

Here是我如何“手动”向datatable添加HTML依赖项的一个例子。这个很好用。当我尝试使用attachDependencies时,不附加依赖项。

代码语言:javascript
复制
library(DT)
library(htmltools)

dep <- htmlDependency(
  name = "colResize", 
  version = "1.6.1", 
  src = normalizePath("colResize"),
  script = "jquery.dataTables.colResize.js",
  stylesheet = "jquery.dataTables.colResize.css",
  all_files = FALSE
)

dat <- iris

datatable(
  dat,
  options = list(
    colResize = list()
  )
) %>% attachDependencies(dep, append = TRUE)

为什么这个代码不起作用?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-11 00:05:45

我不认为这和你使用它的方式有任何关系。函数attachDependencies()将对象作为属性添加,而不是作为依赖项添加:

代码语言:javascript
复制
function (x, value, append = FALSE) 
{
    value <- asDependencies(value)
    if (append) {
        old <- attr(x, "html_dependencies", TRUE)
        htmlDependencies(x) <- c(old, value)
    }
    else { htmlDependencies(x) <- value }
    return(x)
}

但是,如果没有这个函数,您仍然可以在一行而不是三行中添加依赖项。我知道这不是你想要的,但这是个选择。

代码语言:javascript
复制
dtable$dependencies <- append(dtable$dependencies, list(dep))

以我为例:

代码语言:javascript
复制
dep <- htmlDependency(
  name = "colResize", version = "1.6.1", 
  src = c(href = "https://cdn.jsdelivr.net/gh/dhobi/datatables.colResize/"),
  script = "jquery.dataTables.colResize.js",
  stylesheet = "jquery.dataTables.colResize.css",
  all_files = FALSE)

dtable <- datatable(iris, options = list(colResize = list()))

dtable$dependencies <- append(dtable$dependencies, list(dep))

dtable

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72169935

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档