以编程方式设置OnDetach事件处理程序

时间:2018-07-15 21:23:39

标签: google-app-maker

我正在构建的应用程序使用外部库 EasyTimer.js 。这对于计时器很有用。我使用一个HTML小部件来显示自计时器启动以来已花费了多少时间,因此它看起来像这样:

enter image description here

它实际上真的很好!我唯一的问题是,当页面分离时,我需要停止计时器。那是因为记录将被更改,因此计时器需要重新启动。不这样做会导致与计时器发生冲突。

在HTML小部件的onAttach事件中,我有以下内容:

.sepiaSlider > input{} 

代码的顶部正在运行,底部没有执行任何操作。我已经检查过widget logic documentation,但没有暗示是否可行。

我感觉这不可能,因此我开始感到恐惧。尽管如此,如果有解决方案,但我还没有找到,我想在这里咨询专家。

对于您对此问题的宝贵时间和意见,在此先感谢!

1 个答案:

答案 0 :(得分:2)

到目前为止,不可能以编程方式设置onDetach事件处理程序;不过,我通过在页面上实现自定义属性为您找到了可能的解决方案。在此示例中,我使用了动态类型的属性,并将其命名为“计时器”。我没有为此实现Jquery库,而是改用了HTML小部件选项。这是html小部件onAttach事件代码:

//start running timer in the HTML widget
widget.root.properties.Timer = new Timer();
var runningTimer = widget.root.properties.Timer;
runningTimer.start({precision: 'seconds', startValues: {seconds: 0}});
runningTimer.addEventListener('secondsUpdated', function (e) {
  widget.html = runningTimer.getTimeValues().toString();
});

这是onDetach事件代码的页面:

widget.root.properties.Timer.stop();

希望这对您有用或使您朝正确的方向前进。