2
0
mirror of https://github.com/tenrok/vue-meta.git synced 2026-06-07 07:22:24 +03:00

fixed issue where including metaInfo with the same script across multiple components on the same page includes it multiple times. this will de-dupe any of the same tags so that only one is ever inserted

This commit is contained in:
Jeff Haynie
2017-01-08 19:22:05 -08:00
parent 68ceffe822
commit 45ed6c7621
+14
View File
@@ -18,6 +18,20 @@ export default function _updateTags (options = {}) {
const newTags = []
let indexToDelete
if (tags.length > 1) {
// remove duplicates that could have been found by merging tags
// which include a mixin with metaInfo and that mixin is used
// by multiple components on the same page
const found = [];
tags = tags.map(x => {
const k = JSON.stringify(x);
if (found.indexOf(k) < 0) {
found.push(k);
return x;
}
}).filter(x => x);
}
if (tags && tags.length) {
tags.forEach((tag) => {
const newElement = document.createElement(type)