2013-12-19 3 views
1

Im пытается вызвать подписываться с помощью переменной Template.list.my_playlist_id, как это:Есть ли способ проверить, готов ли конкретный объект шаблона?

Meteor.subscribe("links", Template.list.my_playlist_id); 

Проблема заключается в том, что мне нужно, чтобы убедиться, что my_playlist_id существует, прежде чем я использовать его, чтобы подписаться, Есть ли событие что я могу подождать, как Template.list.my_playlist_id.ready?

благодаря

+0

Где вы устанавливаете Template.list.my_playlist_id? –

+0

Я включил Meteor.call в функции обратного вызова. функция вызова вызывается один раз во время Meteor.startup, но я хотел бы подписаться в разных точках – mlikj2006

ответ

1

Я не думаю, что вы хотели бы использовать сам переменный шаблон, а использовать то, что он установлен с, в своей очереди. Если я правильно понимаю ваш контекст, то примерно то, что вам нужно:

Template.list.my_playlist_id = function() { 
    Session.get('my_playlist_id'); 
}; 

Session.setDefault('my_playlist_id', null); 
Meteor.startup(function() { 
    Meteor.call('getplaylist', function(err, res) { 
     Session.set('my_playlist_id', res); 
    }); 

    Deps.autorun(function() { 
     if (Session.get('my_playlist_id') != null) { 
      Meteor.subscribe("links", Session.get('my_playlist_id')); 
     } 
    }); 
}); 
+0

быстрый вопрос, когда функция Deps.autorun gt вызвала? – mlikj2006

+0

http://docs.meteor.com/#deps_autorun –

Смежные вопросы