In my Angular(v1) application, I have a directive that on routeChanging event, remove last added JSON-LDs and add JSON-LD of that page to head element.
// .. some codes here
angular.element('.removableJsonLd').remove();
// ... some codes here
var html = angular.element('<script class="removableJsonLd" type="application/ld+json">' + JSON.stringify(json, 0, 2) + '</script>');
$timeout(function () {
angular.element('head').append(html)
scope.$applyAsync(function () {
$compile(html)(scope);
});
}, 200);
When I check the Google Structured Data Testing Tool it show me 3 item. You can check data live [HERE]
.
But Google shows me nothing after 3 weeks in my Webmaster Tools.