我很难理解JavaScript
Shiny
中调用R
的逻辑如何运作。
我有一个名为.js
的{{1}}文件。
在那里,我有类似的东西:
first.js
我将其包含在$( document ).ready(function() {
firstFunc = function() {
....
}
});
中,如此:
ui.R
然后我按照这样调用函数tags$head(tags$script(src="first.js"))
:
firstFunc
有效!
当我尝试以另一种方式包含tags$body(onload="firstFunc()")
时,我遇到了麻烦。
假设我想对second.js
做点什么。我在d3
d3
库
ui.R
然后我在tags$head(tags$script(src="d3.min.js"))
second.js
当我包含我的d3.select(".whateverClass").append("text").text("test");
文件时,其中只包含second.js
这样的文件(不像第一个例子中那样调用函数d3.select...
)
secondFunc()
它不起作用。 但是,当我将tags$head(tags$script(src="second.js"))
写入我的d3.select...
时,在first.js
的括号内可行。
为什么我必须调用一个函数(这里是firstFunc()
)才能执行代码?为什么我只能链接到firstFunc()
文件?