更新: 这是一个小提琴。它比我自己的真实应用程序好一点,但仍然突出了潜在的错误(或我的误解)。请注意,“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>
标记成功消失,但没有转换。我已经尝试过其他过渡和调整持续时间和延迟,但它总是被立即删除。
理想情况下,我想要不同的outro和intro过渡,我认为我可以用这样的东西来实现:
daysRac.set(keypathToProject, null, function(){
daysRac.set(keypathToProject, "The New Value");
});
同样,这可以更新<p>
中显示的项目值,但没有过渡。
有没有办法完成我追求的目标?
答案 0 :(得分:0)
这可能是一个错误,我提交了issue on GitHub。
问题是,在转换开始之前,Ractive会将{{description}}
更新为null
。如果您不使用表达式,即{{#if description !== null}}
更改为{{#if describtion}}
,则works correctly。