Вероятно, самая подробная и всесторонняя статья на this
такова:
Нежное объяснение ключевого слова этого «this» в JavaScript
Идея позади this
заключается в понимании того, что типы вызова функции имеют важное значение при установке значения this
.
Когда возникают проблемы с идентификацией this
, не спрашивайте себя:
Где
this
взято из ?, но спросите себя:
Как вызывается функция ?
arrow function (специальный случай прозрачности контекста) спросите себя:
Какое значение имеет
this
, где определена функция стрелки ?Этот настрой правилен при работе с
this
и избавит вас от головной боли.
Это не работает, потому что вы используете имя page
как для ForeignKey
для страницы, на которую вы ссылаетесь (в RelatedLinks
), так и ParentalKey
, указывающей на содержащую страницу (в SUAWebPageRelatedLinks
). Вам нужно будет переименовать один из них.