我在 Meteor 应用程序中有一个表单,其中包含可由 Bootstrap 手风琴访问的单选按钮列表。我已经在流星中实现了一个验证路由,它将类插入到输入元素中以将它们标记为有效/无效。
问题是:每当一个输入元素的验证状态发生变化时,都会重新绘制模板并且当前打开的手风琴关闭。
我通过这种笨拙的方法解决了这个问题:
Meteor.startup(function() {
// track collapse state of accordion....
$('.collapse').on('shown', function() {
Session.set(addBookingCollapse, $(this).attr('id'));
});
});
Template.addrecord.helpers({
openAccordion: function(accordion) {
if (Session.get(addBookingCollapse) == accordion) {
return 'in'
};
}
});
<div id="collapseOne" class="accordion-body
collapse {{openAccordion 'collapseOne'}}">
...对于其他四个可折叠元素,依此类推
但是为了谁,必须有一个更优雅的解决方案?我不想为此浪费会话变量....