PerficientDigital / AEM-DataLayer

Simple DataLayer API for Adobe Experience Manager
Apache License 2.0
34 stars 13 forks source link

Models are getting instantiated twice for every component on page when datalayer is turned on #17

Open mmange opened 4 years ago

mmange commented 4 years ago

First of all this is a great library thanks for sharing @klcodanr

As I was trying out this library, I noticed that when I turned on the datalayer for a page, the Models were getting instantiated twice:

  1. By the component's sightly 2.By the datalayer

Looking at the code in the interceptor filter this seems expected as the updateDataLayer instantiates the models for resources on page. But, this does have some performance implications if the page contains models whose initialization costs are expensive (for e.g. lists that run queries etc.). Any ideas to avoid this besides turning on caching on Models (which I haven't tried yet but, something I was contemplating doing to see if it helps)