FlowRouter/BlazeLayout reloads entire page?


#1

I was under the impression that if I navigate to a new route, only the changed templates defined in BlazeLayout.render() would be re-rendered.

Instead, when I navigate to a route, the entire page is reloaded.

Is there some basic setup missing? Is this the default behavior?

Some code:

   FlowRouter.route('/', {
		name: 'home',
		action: function() {
			BlazeLayout.render('appLayout', { left: 'bar', main: 'middlet' });
		}
	});
	FlowRouter.route('/test', {
		name: 'test',
		action: function() {
			BlazeLayout.render('appLayout', { left: 'bar', main: 'testTemplate' });
		}
	});

EDIT: So changing the route using a <a href=""></a> seems to work as expected, the template changes and the page doesnt reload. So why when changing the URL via the address bar does the entire page reload?


#2

Fairly sure changing the URL via the address bar will always trigger an entirely new page request (as if the domain was different), it is specific to browser (UI) behaviour


#3

In your case, left won’t get re-rendered, but main will.
Add console.log in your Template.middlet.onCreated as well as for testTemplate