kroha3000, Из любой не стрелочной функции. То есть во всех computed, methods и во всех хуках, кроме beforeCreated —потому что на данном этапе компонент ещё не создан
Далее Vue самостоятельно отследит все зависимости и при изменении arrCount пересчитает shortList а за ним пересчитает и randomList и перересует страницу
Нет. Просто при гуглении информации по Web API или JS этот ресурс один из первых в выдаче. И он предоставляет информацию в достаточно понятном, для новичков, виде.
То что вы сейчас описали, выглядит как нарушение парадигмы Vue. Компонент не должен иметь "копию" данных из хранилища. Он должен "Зависеть" от данных из хранилища, и при их изменении реактивно адаптироваться.
Зачем вам это нужно? Задавая вопрос, не пишите, что вы пытаетесь сделать. Опишите задачу, которую вы пытаетесь решить, и уже в дополнение описывайте способы которые вы пробовали и чем они вам не подходят.
Владимир, Определённо не стоит. Это море гемороя для вас, как разработчика, и море неудобств для пользователя вашего интерфейса, ради весьма сомнительного дизайнерского решения.
Такой интерфейс имеет место, но только в специфичных задачах. Но не для большинства сайтов.
И причин на то великое множество. Например у пользователей macOS и iOS очень чувствительный скролл. Они привыкли, что страница реагирует на малейшее движение пальца, и смещается хоть по пол пикселя. И любой плагин который вмешивается в нативный скрол только бесит.
Многие люди читаю текст только вверху экрана. Им не удобно, когда текст внизу. И они его проскроливают выше. Что в вашем случае будет невозможно.
Чтобы прокрутка по блокам нормально работала, эти самые блоки должны всегда соответствовать размерам экрана. И контент в них всегда обязан помещаться на экран. Вы как разработчик должны это гарантировать, так как если блок не влезет, у пользователя не будет возможности проскролить чуть ниже. А это весьма не просто. Возьмите хотя бы смартфон: при скроле вверх, вниз, адресная строка браузера то появляется, то исчезает. При открытии клавиатуры у некоторых браузеров пересчитывается размер окра, а у некоторых — нет. Смартфон можно перевернуть. Существуют популярные iPhone SE с маленьким экраном, на который больше 5 слов и одной кнопки, не влезет так, чтобы это было читаемо.
В конце концов, Web — весьма не надежная штука. Любое расширение браузера может сломать ваш сайт. Браузер может заблокировать загрузка вашего скрипта, или ваш сайт в целом может не догрузится. И если вы в стилях добавили какой-то ограничитель, рассчитывая что скрол будет по средством JS — то ваш сайт превращается в неработающий кирпич.
И ещё очень много ситуаций, в которых ваш сайт с подобным решением работает хуже чем с нативным скроллом.
Совет, на будущее: если вопрос об работе какого-то кода, и код специфичный — лучше сразу запустить пример с демонстрацией проблемы в какой-то песочнице.
Любому кто захочет вам помочь будет проще это сделать.
Порой пытаясь воспроизвести баг в песочнице, абстрагировавшись от проекта можно обнаружить, что баг не воспроизводится. А значит проблема не там где вы его ищите.
Совет, на будущее: если вопрос об работе какого-то кода, и код специфичный — лучше сразу запустить пример с демонстрацией проблемы в какой-то песочнице.
Любому кто захочет вам помочь будет проще это сделать.
Порой пытаясь воспроизвести баг в песочнице, абстрагировавшись от проекта можно обнаружить, что баг не воспроизводится. А значит проблема не там где вы его ищите.
data
.this
— это ваш компонент. Он содержит все свойства из data и computed и все методы.