Нужна помощь в понимании того, почему этот формат используется для объявления переменных. Не опубликовано c, не приватно - PullRequest
0 голосов
/ 02 марта 2020

Теперь я пытаюсь понять, почему я не могу заставить свой тип 'multi' выбора работать с таблицей данных. Я нашел решение, которое в их демоверсии работает, но неясно, в какой области эта переменная объявляется.

export class MultiSelectionComponent {
  /* I always define the variable when declared as either
   Public or Private
   But if I do then the HTML template does not recognize the reference
   When I drop the declaration type the HTML template can see it
  */
  SelectionType = SelectionType;

Кто-нибудь объяснит, почему это так, или предоставит соответствующую ссылку на информацию, которая обсуждает это?

Я просмотрел столько, сколько смог, и не нашел ответа здесь на SO.

1 Ответ

2 голосов
/ 02 марта 2020

Если вы не укажете модификатор, это public. Из Руководства по TypeScript (выделение добавлено):

Publi c по умолчанию

В наших примерах мы получили свободный доступ к членам что мы заявили в наших программах. Если вы знакомы с классами на других языках, вы могли заметить, что в приведенных выше примерах нам не приходилось использовать слово public для выполнения sh this; например, C# требует, чтобы каждый член был явно помечен public, чтобы быть видимым. В TypeScript каждый член по умолчанию равен public.

Вы по-прежнему можете явно пометить элемент public.

Итак, код в вашем примере эквивалентен:

export class MultiSelectionComponent {
   public SelectionType = SelectionType;

Хорошо, надеюсь, это поможет; удачи!

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