2
0
mirror of https://github.com/tenrok/vue-meta.git synced 2026-06-08 15:52:27 +03:00

More reliable strategy for getting deepmost component + addition of refresh() method + example & documentation on asynchronous updates

This commit is contained in:
Declan de Wet
2016-11-09 07:26:38 +02:00
parent fa290273df
commit 076832cbd6
18 changed files with 268 additions and 45 deletions
+2 -4
View File
@@ -1,6 +1,5 @@
import deepmerge from 'deepmerge'
import getComponentOption from './getComponentOption'
import mergeComponentData from './mergeComponentData'
/**
* Returns the correct meta info for the given component
@@ -26,7 +25,7 @@ export default function getMetaInfo (component) {
}
// collect & aggregate all metaInfo $options
const info = getComponentOption({
const { mergedOption: info, deepestComponentWithMetaInfo } = getComponentOption({
component,
option: 'metaInfo',
deep: true,
@@ -73,13 +72,12 @@ export default function getMetaInfo (component) {
}
const metaInfo = deepmerge(defaultInfo, info)
const componentData = mergeComponentData(component)
// inject component context into functions & call to normalize data
Object.keys(metaInfo).forEach((key) => {
const val = metaInfo[key]
if (typeof val === 'function') {
metaInfo[key] = val.call(componentData)
metaInfo[key] = val.call(deepestComponentWithMetaInfo)
}
})