活动过渡不适用于部分更新

问题描述:

更新: 这里是小提琴。它比我自己的真实应用程序好一点,但仍然突出了一个潜在的错误(或者我的误解)。请注意,“outro”转换不起作用。活动过渡不适用于部分更新

http://jsfiddle.net/k4a81fza/1/

原文:

这是一个部分我用父母Ractive内:

<script id="session_tpl" type="text/ractive"> 
    <div> 
    <a href="#" on-tap="showDetail"> 
     {{#if p.project !== null}} 
     <p intro-outro="fly"> 
      {{project}} 
     </p> 
     {{/if}} 
    </a> 
    </div> 
</script> 

下面是我想要再更新数据(这是从代表详细视图的不同ractive变更):

daysRac.set('days[1].sessions[2].project', null); 

模板中的<p>标签成功消失,但没有转换。我尝试了其他转换并调整了持续时间和延迟,但它总是立即被删除。

理想我想不同的结尾和过渡介绍,我以为我可以像这样实现:

daysRac.set(keypathToProject, null, function(){ 
    daysRac.set(keypathToProject, "The New Value"); 
}); 

再次,作品以更新<p>显示的项目价值,但没有转变。

有没有办法完成我所追求的?

+0

基本过渡似乎正常工作:http://jsfiddle.net/1zpqshfa/1/。检查控制台以查看是否没有加载消息。否则,数据或模板引用可能不是您所期望的。 – martypdx 2014-09-19 19:55:22

这可能是一个错误,我提交了issue on GitHub

问题是在转换开始之前活动更新{{description}}null。它works correctly如果您不使用表达式,即如果您将{{#if description !== null}}更改为{{#if describtion}}

+0

啊好赶上马丁。使用除了检查null之外的东西应该为我解决它。谢谢! – Jed 2014-09-27 20:37:48