在给定的反应中,是否有方法/选项来获得触发它的电抗元件?

时间:2017-10-18 15:55:51

标签: r shiny

例如,我可以简单地在我感兴趣的反应开始时添加一个print语句,以找出每次其他反应触发它的时间?

    reactive_example <— reactive({
    print(last_trigger())
    reactive_statement()
    _#Rest of reactive logic..._
    )}

然后,例如,我会在我的日志中看到:

  

&#34; reactive_example的last_trigger:reactive_statement&#34;

这意味着在这个特殊场合,它的reactive_example()会触发reactive_example()重新运行。

2 个答案:

答案 0 :(得分:2)

您可以这样做:

监控所有被动反应:

reactive_example()

enter image description here

监控您感兴趣的被动反应词: 下面我们只想看到滑块的变化&#34;一个&#34;和&#34;两个&#34;这可能是某些被动反应的一部分,如 observe({ lapply(c("one","two"), function(x) { observe({ input[[x]] v$last <- x }) }) })

    ObjectInputStream ois = null;
    UserRegistration UR = new UserRegistration();



    Scanner pause = new Scanner(System.in);
    Admin go = new Admin();
    try {

        //ItemEntry book = new ItemEntry();
        ois = new ObjectInputStream(new FileInputStream("Account.txt"));
        while ((UR = (UserRegistration) ois.readObject()) != null) {
            //if (book.getName().equals("1"))
            {
                System.out.println(UR);
            }
        }

    } catch (EOFException e) {
       System.out.println("\nEnd**");

    }catch (ClassNotFoundException ex) {
        System.out.println(ex.getMessage());
    } catch (IOException e) {
        System.out.println(e.getMessage());
    } finally {
        try {
            ois.close();
            System.out.println("Press \"ENTER\" to continue...");
            pause.nextLine();
            go.startup();
        } catch (Exception ex) {
            System.out.println(ex.getMessage());
        }
    }
}

答案 1 :(得分:0)

经过一些实验,我已经编写了一个程序包来解析反应日志:https://github.com/glin/reactlog

我在GitHub问题上尝试了其他一些想法的摘要。

https://github.com/rstudio/shiny/issues/1846#issuecomment-361831280