diff --git a/ru/head.md b/ru/head.md index 654b33f2..b4bf99ca 100644 --- a/ru/head.md +++ b/ru/head.md @@ -2,27 +2,9 @@ Аналогично внедрению ресурсов, управление заголовочными тегами следует той же идее: мы можем динамически присоединять данные к `context` рендерера в жизненном цикле компонента, а затем интерполировать эти данные в `template`. -Для этого нам нужно иметь доступ к контексту серверного рендеринга внутри вложенного компонента. Мы можем просто передать `context` в `createApp()` и предоставить к нему доступ через `$options` корневого экземпляра: +> С версии >=2.3.2 вы можете напрямую получать доступ к контексту SSR в компонентах через `this.$ssrContext`. В более ранних версиях вам потребуется вручную внедрять контекст SSR, передав его в `createApp()` и выставляя его на корневом экземплере `$options` — после чего, компоненты потомки смогут получить к нему доступ через `this.$root.$options.ssrContext`. -``` js -// app.js - -export function createApp (ssrContext) { - // ... - const app = new Vue({ - router, - store, - // все дочерние компоненты смогут получить доступ как this.$root.$options.ssrContext - ssrContext, - render: h => h(App) - }) - // ... -} -``` - -Это также можно сделать с помощью `provide/inject`, но поскольку мы знаем, что это будет в `$root`, мы можем избежать затрат производительности. - -С внедрением контекста, мы можем написать простую примесь для управления заголовком: +Мы можем написать простую примесь для управления заголовком: ``` js // title-mixin.js @@ -42,7 +24,7 @@ const serverTitleMixin = { created () { const title = getTitle(this) if (title) { - this.$root.$options.ssrContext.title = title + this.$ssrContext.title = title } } }