首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RactiveJS与时间条件DOM

RactiveJS与时间条件DOM
EN

Stack Overflow用户
提问于 2016-01-21 11:10:02
回答 1查看 93关注 0票数 2

我有一个带有Ractive.js的json页面,显示与时间相关的文本片段。初始化后,我想检查每分钟,是否停止时间,存储在json中,是到期的。那么文本片段就应该被隐藏起来。

我尝试过的事情:

代码语言:javascript
复制
{{#if time_due > Date.time()}}
do whatever
{{/if}}

以上这些对我都不起作用。我还使用了Ractive.js的计算属性,但这也不起作用。有人有好主意和/或能帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-21 19:28:06

Ractive不会重新计算表达式(如time_due > Date.now()),除非它认为某些东西发生了变化。简单的解决方案是将当前时间分配给数据属性并定期更新:

代码语言:javascript
复制
var ractive = new Ractive({
  el: 'main',
  template: '#template',
  data: {
    timeNow: Date.now(),
    displayUntil: Date.now() + 5000
  }
});

setInterval( function () {
  ractive.set( 'timeNow', Date.now() );
}, 500 );
代码语言:javascript
复制
<script src='http://cdn.ractivejs.org/edge/ractive.js'></script>

<main></main>

<script id='template' tyle='text/html'>
  {{#if timeNow < displayUntil}}
    <p>now you see me</p>
  {{else}}
    <p>now you don't</p>
  {{/if}}
  
  <p>(time remaining: {{displayUntil - timeNow}}ms)</p>
</script>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34922182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档