Using autorun in a template
Although it could be useful to use Tracker.autorun()
globally in our app in some cases, it can become quickly hard to maintain those global reactive functions as our app grows.
Therefore, it is good practice to bind reactive functions to the templates for which they perform actions.
Luckily, Meteor offers a special version of Tracker.autorun()
that is tied to a template instance and stops automatically when the template gets destroyed.
To make use of this, we can start the reactive function in the created()
or rendered callback. To start, let's comment out our previous example from the main.js
file so that we won't get two alert windows.
Open our home.js
file and add the following lines of code:
Template.home.created = function(){ this.autorun(function(){ alert(Session.get('mySessionExample')); }); };
This will create the reactive function when the home template is created. When we go to the browser's console and set the mySessionExample
session to...