Невозможно получить доступ к закрытой переменной внутри функции класса - PullRequest
3 голосов
/ 04 октября 2019

Я работаю в угловом проекте и проектирую круговые диаграммы d3. Все отлично работаетНо моя проблема в том, что я не могу получить доступ к закрытой переменной класса внутри функции.

Ответы [ 2 ]

2 голосов
/ 04 октября 2019

Сфера вопроса. Изменить

.attr('y', function (d, i) { return (this.legendHeight * (i + 1))})

на

.attr('y', (d, i) => { return (this.legendHeight * (i + 1))})

Один из множества документов

0 голосов
/ 04 октября 2019

Проблема, с которой вы сталкиваетесь, может быть объяснена: в вашем function (d, i) { return (this.legendHeight * (i + 1))} так получилось, что this ссылается на другой контекст, чем вы могли ожидать. попробуйте изменить его на нотацию Arrow, например (d,i) => this.legendHeight * (i + 1), чтобы решить вашу проблему.

Если вы не можете использовать эту нотацию, вам нужно будет сделать локальную ссылку на ваше значение legendHeight

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...