получаю сам элемент из DOM через Ref. Раньше всё было нормально, но сегодня модуль начал выдавать странную ошибку.(2 скриншот)
Заходил сегодня с макбука - такой ошибки не было, в чем может быть проблема?? Недавно просто компьютер обновил, может что-то не установил или криво поставил?
ошибка верная и правильно говорит, что там может быть null если уверен, что не null, то carousel!.next
почему рантайм на винде показывает эту ошибку, а на маке нет?
рантайм может показывать на ошибку только в том случае, если во время работы кода в карусели оказался null тебе ошибку подсвечивает волар, на маке он может быть просто не установлен, либо криво настроен вскод
неправильно это все, посмотрите сами
тут уже да, но это из-за того, что ты обращаешься к переменной в коллбэке, TS теряет предварительно суженные типы в коллбэках то же самое, как если бы ты сделал: if (carousel.value) { callback(() => carousel.value.something)); // ошибка, функция может выполнена позже, когда переменная снова null } самый простой вариант - просто добавить ! в таком случае, либо посложнее - сделать отдельную функцию и передавать ее сразу туда параметром/описать функцию без параметра прямо в шаблоне но второе зависит от того, как волар трактует такой код, в чистом TS это не помогло бы, но волар может пропустить
для примера: https://www.typescriptlang.org/play?#code/DYUwLgBAzg9gtuAFgSwHYHMBcFUFc4BGIAThAD467DAQC8l1A3AFADGMqUkAJjAMrwkadHQgAKAGapsYgJR0AfBFyoA1qhgB3VPNpKpcls1gIwKDKICMAJgDMR5BPEmhGeQG9mEb9EFnhAHRgMAAyMKwAhqB8YMTChl4+vAKm5uhicoq+qYHBYZHRsfGysiwAvsxAA
бро, ты не поверишь....... это просто версия volar была старой, уже 1.8.20, а у меня стояла 1.2.0
Обсуждают сегодня