and using _escaped_fragment_= with angularJs

I have a site that is using Last year it was all working smoothly. This year I had to change the site and I moved it from a .net project to a pure AngularJs application (using yeo angular).

This was done a couple of months ago. What I have recently found, is that is not caching my pages anymore.
I found that my web.config has changed. I added this rule:

    <rule name="SEO" stopProcessing="true">
      <match url="^(?!.*?(.js|.css|.xml|.html|.less|.png|.jpg|.jpeg|.gif|.pdf|.doc|.txt|.ico|.rss|.zip|.mp3|.rar|.exe|.wmv|.doc|.avi|.ppt|.mpg|.mpeg|.tif|.wav|.mov|.psd|.ai|.xls|.mp4|.m4a|.swf|.dat|.dmg|.iso|.flv|.woff|.ttf|.m4v|.svg|.torrent))(.*)" ignoreCase="false" />
      <conditions logicalGrouping="MatchAny">
        <add input="{HTTP_USER_AGENT}" pattern="baiduspider|facebookexternalhit|Facebot|twitterbot|googlebot" />
        <add input="{QUERY_STRING}" pattern="(.*)_escaped_fragment_=(.*)" ignoreCase="false" />
      <action type="Rewrite" url="{R:0}" appendQueryString="false" />
        <set name="HTTP_X_PRERENDER_TOKEN" value="****" />

This is now allowing prerender to cache my site, but it doesn’t cache it properly.
If you go to and have a look, you can see that it just pulls in the text that is on the index page.
It doesn’t load the ui-view contents 🙁

Does anyone know why?

Source: AngularJS