OwerFan, вы ведь понимаете, что никто на этом форуме представления не имеет о чем вы говорите? В том числе о видео которое вы смотрели и что там написано было
V0vash, а как все перечисленное связано с контекстом, если в приведенном вами участке кода я вижу что контекстом является экземпляр плеера? Моэет быть вы имеете в виду что вы хотите сам стэйт передать в этот метод? Ну хорошо, но даже если так, то зачем это нужно? Плеер же сам вроде бы берёт и выполняет этот метод, то есть вы можете его не передавать при создании компонента плеера. В общем сначала определитесь с задачей, пока я не понял что нужно. Если речь об изменении стэйта извне плеера, то для этого лучше будет отдельный метод придумать
У меня одно большое "в смысле" после прочтения. Я ни в коем случае не критикую, но скажите пожалуйста зачем вам понадобилось менять контекст выполнения метода класса? Вам действительно нужно чтобы метод класса VideoPlayer выполнялся в контексте какой-то другого объекта, а не экземпляра VideoPlayer, или цель все таки какая-то другая?
И с onPlayerStateChange тоже не очень понятно. Это же вроде дефолтный обработчик который выполняется независимо от переданного юзером или нет?
Вообще подход Angular CLI чуть удобней: в файле %PROFILE_NAME%.cfg вы описываете все используемые в данном профиле переменные, типа там адреса API например, а потом при сборке указываете имя профиля, после чего файл конфига заменяется тем который соответствует выбранному профилю,
"Как на фронтенде правильнее задавать api url , относительно домена или задавать в packege.json переменную и далее относительно нее в коде формировать api url" - это скорее зависит от конкретных нужд и требований, а не от абстрактной правильности
Kizzeon, если под подключенным сканером вы имели в виду реальный аппарат считывающий баркоды, то мой комментарий немного не о том; мне показалось вы говорите о сканере прямо на странице браузера
Ну сысли "как работает сканер в вебе". Сканер это отдельное ПО которое анализирует видеопоток на предмет наличия штрих кодов с некоторой погрешностью. Соответственно ивенты генерирует сам этот сканер, а вы уже сами решаете какую логику выполнять при наступлении того или иного ивента.
Подавляющее большинство сканеров так или иначе являются портами или расширениями для zebra crossing (zxing), старого ведроидного сканера. Например quagga - https://serratus.github.io/
"Что там у него под капотом не понятно" - а там на самом деле и капота никакого нету, в статье речь просто о загрузке данных на клиент и их моментальном отображении с последующим поиском. Почему он это назвал базой данных одному аллаху известно
Название статьи несет исключительно художественную нагрузку, ни о какой бд на js там речи нет, просто из бд на страницу загружается какой-то набор объектов после чего по ним осуществляется пользовательский поиск