Nativescript getViewById没有更新倒计时

时间:2016-11-02 04:54:30

标签: javascript setinterval countdown nativescript

所以,我正在使用我在这个问题中询问的计时器作为倒计时:How to stop timer.setinterval with a tap event or leaving page in nativescript

计数器工作,所有这一切,而我一直在使用console.log来检查它是否有效,是的,但我想让它出现在xml中,供该应用程序的用户查看。但是计数不会在xml中更新。

以下是视图的代码:

2>&1

js文件背后:

<Page xmlns="http://schemas.nativescript.org/tns.xsd" loaded="pageLoaded" navigatedTo="navigatedTo" navigatingFrom="onNavigatingFrom" actionBarHidden="true">

    <DockLayout orientation="horizontal" horizontalAlignment="center" backgroundColor="black" color="white">
        <Label text="Time remaining: " dock="left" margin="5" />
        <Label id="timeCount" text="" loaded="pageLoaded"></Label>
    </DockLayout>    
</Page>

时间值到达视图但未更新的值会减少值。我console.log(时间)以确保它仍然有效。

1 个答案:

答案 0 :(得分:1)

您应该data binding继承Observable类,当属性发生更改时,它也会更新XML。对于您的情况,如果您仍想继续练习,可以将label.text放在间隔内以更新它:

TimeCountScore = page.getViewById("timeCount");

countId = timer.setInterval(() => {
    TimeCountScore.text = time;
}, 1000);