我試圖改變一個集合的屬性,讓他們在呈現前的絕對位置。如果該項目是集合中的第一個,則會給出0的頂部和左邊的0。其次是頂部爲0,左邊爲20等。但是,當我嘗試將此邏輯構建到我的模板中時,它會導致無限循環。這裏是我的代碼:流星無限循環
if (Meteor.is_client) {
_.extend(Template.movies, {
movies: function() {
var movies = Movies.find({}, {sort: {name: 1}});
var determineLocation = function(){
console.log('hello');
var count = 0;
movies.forEach(function(movie){
// do some math
Movies.update(movie._id, {$set: {left: 10, top: 20}});
count++;
});
};
determineLocation();
return movies;
}
});
};
我認爲它這樣做,因爲Movies.update命令觸發短片功能再次進行渲染,從而導致無限循環。我應該如何解決這個問題?在哪裏放置determinLocation函數的適當位置?
另外我一直在寫博客,遇到無限循環的情況,我分離了渲染,看看doctormehmet dot blogspot dot com,如果你認爲它可能有幫助。我不使用啓動,而是使用autorun,但情況有點不同。 – DrM