Search code examples
javascripthtmlmeteormeteor-helper

On click the template data needs to be rendered in the same page


I am trying to render the data(from the template) like hide(when back button is clicked) and show(when the view button is clicked) on the same HTML page. My code is below:

<h2>Saved Deals</h2>
<p>This includes deals which are in draft</p>
<p><a class="btn btn-black fjalla" id="viewsaveddeals" role="button">View »</a>{{> saveddeals}}</p>

Solution

  • You could use Meteor Sessions, for example:

    if (Meteor.isClient) {
        Template.deals.helpers({
            showSavedDeals: function () {
                return Session.equals('showSavedDeals', true);
            }
        });
        Template.deals.events({
            'click #viewsaveddeals': function () {
                Session.set('showSavedDeals', true);
            }
        });
        Template.deals.onDestroyed(function () {
            Session.set('showSavedDeals', null);
        });
    }
    

    <template name="deals">
        <h2>Deals<span>12</span></h2>
    
        <p>This includes deals which are in draft</p>
    
        <p><a class="btn btn-black fjalla" id="viewsaveddeals" role="button">View
            »</a>{{#if showSavedDeals}}{{> saveddeals}}{{/if}}</p>
    </template>
    
    <template name="saveddeals">
        <h2>Saved deals</h2>
    </template>