Vue-FAQ
937 subscribers
571 photos
91 videos
562 links
Канал сайта https://vue-faq.org
Информация о Vue.js, фронтенд разработке и не только

Contacts: @RuslanMakarov
Download Telegram
Чтобы немного нейтрализовать психологическую травму, нанесенную TypeScript, вот на ночь четыре капли седатива от JS

#js
😁18🗿5👍1
Автор русского перевода документации VitePress перевел и Vite документацию и просит сделать ревью его PR , чтобы его пропустили.

#vite #i18n
🔥27
Вышел vue-router 4.5.0

Из примечательного - по инициативе Эвана на router-link появился prop view-transition, который задействует нативный View Transitions API для перехода между роутами.

<template>
<RouterLink to="/some-page" view-transition>
Go to some page
</RouterLink>
</template>


Анимацию которого можно кастомизировать CSS стилями

Может быть быстрее вьюшного <Transition> и уж точно удобней в записи (по сравнению с конструкцией с router-view ). Но не такой функциональный, для простых переходов.

#router #animation #css
15🔥8
Неожиданно вышел Vite 6.0

Больших и даже просто значимых изменений практически нет. Предполагается, что это последний мажорный стабильный релиз перед заносом в Vite Rolldown-a и прочей Voidzero-шной машинерии.

#vite
🔥4🤔1
Тут опросик замутили

Пишут, что уже несколько лет его проводят, но не попадался такой.

Эван, вроде, одобрил. Можно поучаствовать.

#vuejs #survey #stats
🔥7
Вышел отчет State of Frontend 2024

Кроме того, что JQuery еще использует пятая часть опрошенных (а основная часть jq разрабов просто игнорирует подобные опросы), особо ничего интересного

#stats #survey
😁2
Статья от 20 ноября 2024 года

8 Reasons Why Vue JS is the Best Framework for Your Modern Projects

И пишут же вот такие вот контент-райтеры на дешевеньких LLM-ках вот такую вот хрень. Для компаний, которые, типа, предлагают услуги разработки на Vue.js

И наверняка могут написать о чем угодно...

#facepalm
😁5💩1
Когда-то модалки были довольно нетривиальным элементом, породившим кучу библиотек для их отображения (даже сам когда-то заэнпиэмил одну).

Сейчас HTML <dialog> делает это легко и непринужденно

Вот пример модалки в 30 строк с оверлеем, закрытием по outside клику и клавише ESC, с поддержкой доступности и других W3C стандартов

<script setup lang="ts">
import { ref } from "vue";

const dialog = ref(null);

function show() {
dialog.value.showModal();
}
function close() {
dialog.value.close();
}

function onClick($event) {
if ($event.target === dialog.value) {
dialog.value.close();
}
}

defineExpose({ show, close });
</script>

<template>
<dialog
ref="dialog"
role="textbox"
tabindex="0"
@mousedown="onClick"
>
<slot />
</dialog>
</template>

<style scoped></style>


Использование:

const holaModal = useTemplateRef("holaModal");

// holaModal.value.show();
...
<ModalDialog ref="holaModal">
<div>Hola!</div>
<button @click="holaModal.close()">
Close
</button>
</ModalDialog>


И всё. Не надо никаких композаблов, телепортов и мучений с позиционированием.

В комментариях будут стили для плавного (fade in-out) открытия и закрытия окна диалога и оверлея.

#html #tip
18👍8
Маск делает "беспристрастный" поисковик, альтернативу Google

(шутка)

#musk #seo
🤡7🤔5👎1
В вышедшем недавно PHP 8.4 тем временем небольшая революция

Появились ассиметричные (?) модификаторы доступа свойств класса и переопределяемые геттеры/сеттеры (привет, js).

А также наконец, через 30 лет, удобный API для парсинга HTML документов.

#php
👍7💩6🔥1
Активно используйте эмоджи, чтобы сделать коммит мессаджи поинтересней

#git #humor
🤣12👎1
Как приятно выйти на пенсию и заниматься только пет-проектами...

Предпоследний - Библеистика

Фронт в целом занял где-то треть работы. Технически было много интересных моментов, особенно на бэке (сбор данных, нормализация, структурирование, размещение, организация/оптимизация передачи их на фронт, индексация, морфологический поиск и т.п.). Был (и есть) даже вариант, что сайт может быть полностью статичным, без бэка, даже с поиском.

В итоге сайт "сотки" и близко к ним выбивает на PageSpeed

Репозиторий

#pet
👎8🔥76👍3💊2💩1🕊1
Media is too big
VIEW IN TELEGRAM
Из эпохи, когда женщины были женщинами, и сами исполняли песни, которые сами писали.

#video #offtop
👎16💩4👍2
При рисовании графиков на фронтенде обычно используется два подхода - canvas и svg

Библиотеки для первого (chart.js, uplot) предлагают больший функционал и детализацию, библиотеки для второго (frappe-charts, chartist) - намного меньший размер пакета и заметно лучшую производительность в браузере.

Если нужны несложные диаграммы, можно использовать SVG

Специальная обертка для Vue не обязательна - все можно сделать в onMounted() через useTemplateRef().

#charts #svg
👍19👎1
Недавно понадобилось сделать график. Вроде простой, но перебрал несколько библиотек и не нашел подходящей - чтобы маркеры горизонтальные были, тултип, расположение по оси Х как надо, растягиваемый и т.п.

В итоге решил сделать сам используя третий подход - на HTML и CSS.

Времени на создание рабочего варианта (первая картинка) ушло меньше, чем на поиски и пробы готовых графических библиотек (четырёх).


К сведению любителей не изобретать эти чертовы велосипеды.

Ну и дальше можно закастомизировать по красоте как нужно именно тебе.

#charts
👍6