我们如何从 JS 块中读取 R 变量?
How can we read an R variable from JS chunk?
大家好,知道如何从 JS 块中读取 R 变量吗?
我试图将 R 变量保存在一个 txt 文件中,然后从 JS 块中读取它,但我无法弄清楚如何,因为它不起作用
这取决于您希望事情变得多复杂。
最简单的解决方案就是我在评论中所说的:只需使用内联 R 代码将值作为文本的一部分直接放入 Javascript 中。如果 Javascript 在一个块中,这不起作用,只有当它是原始 <script></script>
形式时。例如,
---
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r}
msg <- "This doesn't work."
```
```{javascript}
alert("`r msg`")
```
```{r}
msg <- "This works: this is a message from R!"
```
<script>
alert("`r msg`")
</script>
更复杂的版本将涉及编写一个 htmlwidget
,这有点棘手,但允许在打印 R 对象或转到 Shiny 时执行任意 Javascript 代码,如果你想的话响应用户查看网页的 R 代码。
大家好,知道如何从 JS 块中读取 R 变量吗?
我试图将 R 变量保存在一个 txt 文件中,然后从 JS 块中读取它,但我无法弄清楚如何,因为它不起作用
这取决于您希望事情变得多复杂。
最简单的解决方案就是我在评论中所说的:只需使用内联 R 代码将值作为文本的一部分直接放入 Javascript 中。如果 Javascript 在一个块中,这不起作用,只有当它是原始 <script></script>
形式时。例如,
---
output: html_document
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r}
msg <- "This doesn't work."
```
```{javascript}
alert("`r msg`")
```
```{r}
msg <- "This works: this is a message from R!"
```
<script>
alert("`r msg`")
</script>
更复杂的版本将涉及编写一个 htmlwidget
,这有点棘手,但允许在打印 R 对象或转到 Shiny 时执行任意 Javascript 代码,如果你想的话响应用户查看网页的 R 代码。