有一个不错的库,但我只能用它来转换列表。(这可能是我的错误?)
然而,我想在计数器增加时翻转它。 我想到的解决方案对我来说看起来非常丑陋。 我从这里开始:
//counter.js
Template.counter.helpers({
counter: function () {
return Counts.get('counter');
}
});
//counter.html
<template name="counter">
<div class="ui clearing counterBlock">
<h1 class="ui header centered">Contacts</h1>
<h2 class="counter ui header centered">{{ counter }}</h2>
</div>
</template>
对于未使用动画效果的版本,请
//counter.js
var prevCounter = 0, counterTpl;
Template.counterBlock.onRendered(function () {
counterTpl = Blaze.render(Template.counter, $(".counter")[0]);
});
Template.counter.helpers({
counter: function () {
var c = Counts.get('counter');
if (c != prevCounter) {
$(".counter .animated").removeClass('flipInX').addClass('flipOutX');
Meteor.setTimeout(function () {
prevCounter = c;
Blaze.remove(counterTpl);
counterTpl = Blaze.render(Template.counter, $(".counter")[0]);
}, 1000);
}
return prevCounter;
}
});
//counter.html
<template name="counterBlock">
<div class="ui clearing counterBlock">
<h1 class="ui header centered">Contacts</h1>
<h2 class="counter ui header centered">
</h2>
</div>
</template>
<template name="counter">
<span class="animated flipInX">{{counter}}</span>
</template>
我对 Meteor 技术还比较陌生,但我想知道是否有一种适当的方式来实现简单反应式变化的动画效果。