Обновить
2
0
Вадим Емцов@HardMagnett

Пользователь

Отправить сообщение

К слову, это уже не первый коммент, по поводу того, что официальная документация не рекомендует эмитить из композаблов.
Поэтому я усомнился в своём утверждении, и пошел в документацию.
И.... не смог найти подобного утверждения в доках.
Возможно невнимательно искал, а возможно нашел эту информацию ранее в другом источнике.
В следующий раз при написании статьи мне нужно быть внимательнее, и фиксировать у себя ссылку на источник сразу.

Если вдруг обнаружу этот тезис в документации снова - напишу об этом здесь в комменте или сделаю UPD к статье.

Доброго времени суток.

По поводу связанности:
Компонент знает о композабле, его пропсах, эмитах, и в данном случае типах,т.к. компонент использует композабл.
Но композабл ничего не знает о компонентах, в которых он используется.

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

А касательно импорта типов из композабла:
В выборе между дублированием описания типов и их повторным использованием,
по моему предпочтительнее повторное использование.
Особенно если дублировать пришлось бы несколько раз.
Ничего страшного в проваливании в композабл/библиотеку/хелпер и импорте из него тип не вижу.
Мы можем даже из Vue импотировать типы.
Стандартная практика.

Спасибо за ревью. Исправлено )

Почему уровень "сложный"?

Насколько я понял:

  • "простой" - нужно ставить, если целевая аудитория - не программисты вовсе,

  • "средний" - для около-программерских специальностей, которые имеют примерное представление о кодинге, но сами непосредственно им редко занимаются,

  • "сложный" - непосредственно для кодеров, которые знают тонкости языков, фреймворков, инструментов и прочего.

Нечто подобное было написано в интерфейсе хабра при публикации.

Разве нет?

Может-быть и я что-то не так понял.
Это моя первая статья на Хабр.

Спасибо за развернутый коммент.

UPD: если Вы имели ввиду компоненты, которые действительно делают прям одно и то же, но просто имеют разное представление (да, да, такое действительно бывает) — в таком случае всё встаёт на свои места.

Да, я писал в точности об этом.


Реальную проблему из жизни, на основе которой писал статью, не стал описывать по 2-м причинам:
- Нехорошо код из продакшн-проекта, находящийся под NDA, публиковать на всеобщее обозрение.
- Хотелось сделать минимальный пример, который я или кто-то другой может скопировать в шпаргалки или сниппеты, и в следующий раз не выдумывать заново. Исходя из моего опыта - это периодически повторяющийся шаблон.

Информация

В рейтинге
Не участвует
Откуда
Донецк, Ростовская обл., Россия
Зарегистрирован
Активность

Специализация

Фронтенд разработчик, HTML-верстальщик
Vue.js
TypeScript
REST
HTML
CSS
Nuxt.js
Document Object Model
Адаптивная верстка
Английский язык