Область видимости при компиляции

Если необходимо использовать данные внутри слота, например:

<navigation-link url="/profile">
  Вы вошли как {{ user.name }}
</navigation-link>

То этот слот имеет доступ к тем же свойствам экземпляра (т.е. к той же «области видимости»), что и остальная часть шаблона. Слот не имеет доступа к области видимости <navigation-link>. Поэтому попытка получить url не сработает:

<navigation-link url="/profile">
  Кликните для перехода сюда: {{ url }}
  <!--
  Значение `url` будет неопределено (undefined), потому что этот
  контент передаётся _на_ <navigation-link>, а не определяется
  _внутри_ компонента <navigation-link>.
  -->
</navigation-link>

Как правило, достаточно запомнить что:

Всё в родительском шаблоне компилируется в области видимости родительского компонента; всё в дочернем шаблоне компилируется в области видимости дочернего компонента.

Last updated