【发布时间】:2016-03-01 18:19:29
【问题描述】:
我目前正在从帮助程序返回来自 Meteor.users 的光标。
Javascript 控制器:
Template.rtcCarousel.helpers({
rtcUsers: function() {
if (Session.get("rtcSettings"))
{
let cursor = Modules.both.query.getRTCUsers(Session.get("rtcSettings"), 20);
cursor.observe({
added: ( item ) => {
if (Session.get('viewMode') == 1)
{
// my css animation stuff here
}
}
});
return cursor;
}
}
});
HTML 视图:
<template name="rtcCarousel">
{{#each $mapped rtcUsers}}
<div>
{{> rtcucard}}
</div>
{{/each}}
</template>
关键是我的视图可以在两种模式之间切换:我希望光标在模式 1 时更改以触发一些 cs 动画,而在模式 2 时不执行任何操作。我的意思是:我什至不想要视图如果由于接收我的帮助程序的#each 而添加或删除文档,则重新呈现。
我该如何处理?如何确保我的光标在模式 2 中不会改变?我希望它在它返回的那一刻像非反应快照一样返回。
我想我需要一些 Session 值来自动重新计算帮助程序,然后我可以做一些棘手的事情,比如获取光标,快照 id,然后用一个只匹配这个的新查询切换返回的光标_id 的文档,然后等待会话切换回正常的反应用例,但这会非常棘手。
Meteor 中没有办法对光标的状态进行快照吗?
感谢指导!
【问题讨论】:
标签: javascript mongodb meteor cursor snapshot