所以我有一条路线,在渲染时我更新了用于在页面上渲染数据的文档。
但是,当我通过onRun修改数据时,我得到一个无限循环。 :( 在数据函数中执行此操作并不能解决问题,因为该方法也是反应性的,因为它似乎可以使用所有方法(onAfterAction,onBeforeAction等)。 onBeforeAction如果我可以使用它将是完美的...
ViewRoomController = RouteController.extend({
data: function() {
return Rooms.findOne(this.params._id);
},
onRun: function() {
var room = Rooms.findOne(this.params._id),
that = this,
messages;
if(room !== undefined) {
messages = room.messages;
//Do stuff with messages...
//This will go into an infinite loop.
//setTimeout is here just so loop doesn't lock up process.
setTimeout(function() {
Rooms.update(
that.params._id, {
$set: {
messages: messages
}
}
);
}, 1);
}
}
});
我打赌我错过了一些愚蠢的事情,但我现在已经被困在这一段时间超过一个小时......:)
答案 0 :(得分:0)
我发现执行此操作的正确方法是将ID传递给模板,然后让模板本身具有反应性,而不是整个路径。
你知道的越多。 :)