Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>You could use a Meteor Session variable as a reactive data source so the template automatically re-renders (<a href="http://docs.meteor.com/#session_set" rel="nofollow">http://docs.meteor.com/#session_set</a>). Try this:-</p> <pre><code>if (Meteor.is_client) { // Use 'greeting' Session variable as a reactive data source Session.set('greeting', 0); Template.hello.greeting = function () { return "Welcome to test: " + Session.get('greeting'); }; Meteor.setInterval(function() { Session.set('greeting', Session.get('greeting') + 1); }, 1000); } if (Meteor.is_server) { Meteor.startup(function () { // code to run on server at startup }); } </code></pre> <p><strong>Updated:</strong> To show hooking into <code>streams</code> package. Example works but use at your own peril</p> <pre><code>if (Meteor.is_client) { // Use client from stream package sc = new Meteor._Stream('/sockjs'); sc.on('message', function(payload) { var msg = JSON.parse(payload); // Set session variable so template reacts Session.set('greeting', JSON.stringify(msg.data)); }); // Use 'greeting' Session variable as a reactive data source Template.hello.greeting = function () { return Session.get('greeting'); }; } if (Meteor.is_server) { // Use server from stream package ss = new Meteor._StreamServer(); // register handler for socket connection ss.register(function (socket) { var data = {socket: socket.id, connected: new Date()} var msg = {msg: 'data', data: data}; // Send message to all sockets _.each(ss.all_sockets(), function(socket) { socket.send(JSON.stringify(msg)); }) }); } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload