我是新手,我需要了解一件让人发疯的事:为什么这段代码会运行3次而不是1次
observe({ duplicate() })
duplicate = function() {
for (inp in names(input)[grepl("^box", names(input))]) {
inpCode = substr(inp, 5, nchar(inp))
value = eval(parse(text = paste("input$", inp, sep = "")))
if (is.na(value)){
value = eval(parse(text = paste("input$secondbox", inpCode, sep = "")))
}
updateNumericInput(session, paste("thirdbox", inpCode, sep = ""), value = value)
}
}
我已经看到它与以下事实有关:我正在读取一个观察中的3个不同输入,但只更新一次所以它应该只运行一次。我在这里错过了什么?感谢。