vuejs

Back Open Paginator
26.12.2025 07:22
habr (@habr@zhub.link)

MDUI: как отдать UI backend-разработчикам

Как сократить Time-to-Market в 7 раз и научить бэкенд-разработчиков собирать страницы за 15 минут? В этой статье я делюсь опытом внедрения Meta-Driven UI в ERP-системе. Расскажу, как я «душила» легаси с помощью Strangler Fig Pattern, внедрила FSD-архитектуру на Vue 3 и почему Render-функции оказались эффективнее обычных шаблонов.

habr.com/ru/articles/980684/

#vuejs #frontendразработка #MDUI #fsd #erpсистемы #refactoring




Show Original Post


24.12.2025 14:54
kalvn (@kalvn@framapiaf.org)

La lib de *signals* (ce qui sous-tend le système de réactivité des frameworks JavaScript modernes) utilisée par Vue 3.6 en mode *Vapor* (alternative au *virtual DOM*).

🔗 github.com/stackblitz/alien-si

#signal #VueJS




Show Original Post


23.12.2025 07:22
habr (@habr@zhub.link)

Рендер-функции и Teleport в Vue.js

Декларативные шаблоны Vue решают 90% задач фронтенда. Но периодически возникают ситуации, где шаблонного синтаксиса оказывается мало. Нужен более тонкий контроль над рендерингом или возможность вынести часть компонента за пределы его естественной позиции в DOM-дереве. Для таких случаев Vue 3 послал нам render-функции и встроенный компонент Teleport. Понять Vue

habr.com/ru/companies/otus/art

#vuejs #рендерфункции #Teleport #виртуальный_DOM #реактивность #SPA




Show Original Post


22.12.2025 02:40
clonbg (@clonbg@masto.es)

Manuales de VueJS myblog.clonbg.es/manuales-de-v #Programación #VueJs clonbg.es





Show Original Post


19.12.2025 23:18
devto_vn_bot (@devto_vn_bot@mastodon.maobui.com)

Pinia Zombie State: Kẻ ẩn náu nguy hiểm trong ứng dụng Vue của bạn. Khi state không còn được sử dụng nhưng vẫn tồn tại, nó có thể gây ra các bug khó lường như form tự động điền, validation sai, UI hoạt động bất thường. Nguyên nhân chính: store không được reset khi chuyển trang hoặc kết thúc luồng nghiệp vụ. Giải pháp: 1) Thêm hàm reset rõ ràng, 2) Reset khi context thay đổi, 3) Kiểm soát async request, 4) Tách biệt UI state và domain state. #Pinia #VueJS #StateManagement #ZombieState #Frontend #




Show Original Post


18.12.2025 14:02
2025 (@2025@jws.news)

How to use wa-card with Vue

Last month, I talked about wanting to spend some time exploring Web Awesome and Vue.js.  I figured that we would start with the wa-card element.  This is a great option for displaying a collection of elements that have photos, names, and descriptions.  Let’s take a look at a simple example.

[cmsmasters_html shortcode_id=”xiyvc2iir9″]PHAgY2xhc3M9ImNvZGVwZW4iIGRhdGEtaGVpZ2h0PSIzMDAiIGRhdGEtZGVmYXVsdC10YWI9Imh0bWwscmVzdWx0IiBkYXRhLXNsdWctaGFzaD0ibXlWR2ROWiIgZGF0YS1wZW4tdGl0bGU9IndhLWNhcmQgZGVtbyAxIiBkYXRhLXVzZXI9InN0ZWluYnJpbmciIGRhdGEtdG9rZW49IjE4YmM5YTM5NGMyY2Q4MWE1ZTJiNjgxZmM2YjgyYThiIiBzdHlsZT0iaGVpZ2h0OiAzMDBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGJvcmRlcjogMnB4IHNvbGlkOyBtYXJnaW46IDFlbSAwOyBwYWRkaW5nOiAxZW07Ij4KICAgICAgPHNwYW4+U2VlIHRoZSBQZW4gPGEgaHJlZj0iaHR0cHM6Ly9jb2RlcGVuLmlvL3N0ZWluYnJpbmcvcGVuL215VkdkTlovMThiYzlhMzk0YzJjZDgxYTVlMmI2ODFmYzZiODJhOGIiPgogIHdhLWNhcmQgZGVtbyAxPC9hPiBieSBKb2UgU3RlaW5icmluZyAoPGEgaHJlZj0iaHR0cHM6Ly9jb2RlcGVuLmlvL3N0ZWluYnJpbmciPkBzdGVpbmJyaW5nPC9hPikKICBvbiA8YSBocmVmPSJodHRwczovL2NvZGVwZW4uaW8iPkNvZGVQZW48L2E+Ljwvc3Bhbj4KICAgICAgPC9wPgogICAgICA8c2NyaXB0IGFzeW5jIHNyYz0iaHR0cHM6Ly9wdWJsaWMuY29kZXBlbmFzc2V0cy5jb20vZW1iZWQvaW5kZXguanMiPjwvc2NyaXB0Pg==[/cmsmasters_html]

Web Awesome is an open-source library of web-standards-based and framework-agnostic UI components, so adapting them to work with Vue.js is easy. We just need variables for each of the elements of the content and a little createApp() magic.

[cmsmasters_html shortcode_id=”421v0kf01t”]PHAgY2xhc3M9ImNvZGVwZW4iIGRhdGEtaGVpZ2h0PSIzMDAiIGRhdGEtZGVmYXVsdC10YWI9Imh0bWwscmVzdWx0IiBkYXRhLXNsdWctaGFzaD0iRWFQZWFWTCIgZGF0YS1wZW4tdGl0bGU9IndhLWNhcmQgZGVtbyAyOiBEdXBsaWNhdGluZyB3aXRoIFZ1ZSIgZGF0YS11c2VyPSJzdGVpbmJyaW5nIiBkYXRhLXRva2VuPSIxYmVkYTZhYjNjYWYxNTZlZTAzNWMzYjc5MjdhYmY4NiIgc3R5bGU9ImhlaWdodDogMzAwcHg7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyBib3JkZXI6IDJweCBzb2xpZDsgbWFyZ2luOiAxZW0gMDsgcGFkZGluZzogMWVtOyI+CiAgICAgIDxzcGFuPlNlZSB0aGUgUGVuIDxhIGhyZWY9Imh0dHBzOi8vY29kZXBlbi5pby9zdGVpbmJyaW5nL3Blbi9FYVBlYVZMLzFiZWRhNmFiM2NhZjE1NmVlMDM1YzNiNzkyN2FiZjg2Ij4KICB3YS1jYXJkIGRlbW8gMjogRHVwbGljYXRpbmcgd2l0aCBWdWU8L2E+IGJ5IEpvZSBTdGVpbmJyaW5nICg8YSBocmVmPSJodHRwczovL2NvZGVwZW4uaW8vc3RlaW5icmluZyI+QHN0ZWluYnJpbmc8L2E+KQogIG9uIDxhIGhyZWY9Imh0dHBzOi8vY29kZXBlbi5pbyI+Q29kZVBlbjwvYT4uPC9zcGFuPgogICAgICA8L3A+CiAgICAgIDxzY3JpcHQgYXN5bmMgc3JjPSJodHRwczovL3B1YmxpYy5jb2RlcGVuYXNzZXRzLmNvbS9lbWJlZC9pbmRleC5qcyI+PC9zY3JpcHQ+[/cmsmasters_html]

The above example gives you the same result as the first one, but instead of the values being in the markup, they are in JavaScript variables. So, how do we adapt this to work with more complex data?

[cmsmasters_html shortcode_id=”vhd59gyl”]PHAgY2xhc3M9ImNvZGVwZW4iIGRhdGEtaGVpZ2h0PSIzMDAiIGRhdGEtZGVmYXVsdC10YWI9Imh0bWwscmVzdWx0IiBkYXRhLXNsdWctaGFzaD0icUViSlltSyIgZGF0YS1wZW4tdGl0bGU9IndhLWNhcmQgZGVtbyAzOiBSZW5kZXJpbmcgYW4gYXJyYXkiIGRhdGEtdXNlcj0ic3RlaW5icmluZyIgZGF0YS10b2tlbj0iOWIyMDRlZTUxNDYwZTA4MTFkOTcyNTI2MGY5MzM4MWYiIHN0eWxlPSJoZWlnaHQ6IDMwMHB4OyBib3gtc2l6aW5nOiBib3JkZXItYm94OyBkaXNwbGF5OiBmbGV4OyBhbGlnbi1pdGVtczogY2VudGVyOyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgYm9yZGVyOiAycHggc29saWQ7IG1hcmdpbjogMWVtIDA7IHBhZGRpbmc6IDFlbTsiPgogICAgICA8c3Bhbj5TZWUgdGhlIFBlbiA8YSBocmVmPSJodHRwczovL2NvZGVwZW4uaW8vc3RlaW5icmluZy9wZW4vcUViSlltSy85YjIwNGVlNTE0NjBlMDgxMWQ5NzI1MjYwZjkzMzgxZiI+CiAgd2EtY2FyZCBkZW1vIDM6IFJlbmRlcmluZyBhbiBhcnJheTwvYT4gYnkgSm9lIFN0ZWluYnJpbmcgKDxhIGhyZWY9Imh0dHBzOi8vY29kZXBlbi5pby9zdGVpbmJyaW5nIj5Ac3RlaW5icmluZzwvYT4pCiAgb24gPGEgaHJlZj0iaHR0cHM6Ly9jb2RlcGVuLmlvIj5Db2RlUGVuPC9hPi48L3NwYW4+CiAgICAgIDwvcD4KICAgICAgPHNjcmlwdCBhc3luYyBzcmM9Imh0dHBzOi8vcHVibGljLmNvZGVwZW5hc3NldHMuY29tL2VtYmVkL2luZGV4LmpzIj48L3NjcmlwdD4=[/cmsmasters_html]

In the above example, we are looping over a 3-item array using v-for.  Since the only styling on the example is a width on the cards, it looks a little off.  We can fix that with a little grid magic, though.

[cmsmasters_html shortcode_id=”ielp7k42p”]PHAgY2xhc3M9ImNvZGVwZW4iIGRhdGEtaGVpZ2h0PSIzMDAiIGRhdGEtZGVmYXVsdC10YWI9Imh0bWwscmVzdWx0IiBkYXRhLXNsdWctaGFzaD0iSm9HbXZtbSIgZGF0YS1wZW4tdGl0bGU9IndhLWNhcmQgZGVtbyA0OiBSZW5kZXJpbmcgYW4gYXJyYXkgd2l0aCBleHRyYSBzdHlsaW5nIiBkYXRhLXVzZXI9InN0ZWluYnJpbmciIGRhdGEtdG9rZW49IjJiM2E3YTFjZjBlZWYxYmI0MmIyNjE0YTk2NWY2ZWUwIiBzdHlsZT0iaGVpZ2h0OiAzMDBweDsgYm94LXNpemluZzogYm9yZGVyLWJveDsgZGlzcGxheTogZmxleDsgYWxpZ24taXRlbXM6IGNlbnRlcjsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IGJvcmRlcjogMnB4IHNvbGlkOyBtYXJnaW46IDFlbSAwOyBwYWRkaW5nOiAxZW07Ij4KICAgICAgPHNwYW4+U2VlIHRoZSBQZW4gPGEgaHJlZj0iaHR0cHM6Ly9jb2RlcGVuLmlvL3N0ZWluYnJpbmcvcGVuL0pvR212bW0vMmIzYTdhMWNmMGVlZjFiYjQyYjI2MTRhOTY1ZjZlZTAiPgogIHdhLWNhcmQgZGVtbyA0OiBSZW5kZXJpbmcgYW4gYXJyYXkgd2l0aCBleHRyYSBzdHlsaW5nPC9hPiBieSBKb2UgU3RlaW5icmluZyAoPGEgaHJlZj0iaHR0cHM6Ly9jb2RlcGVuLmlvL3N0ZWluYnJpbmciPkBzdGVpbmJyaW5nPC9hPikKICBvbiA8YSBocmVmPSJodHRwczovL2NvZGVwZW4uaW8iPkNvZGVQZW48L2E+Ljwvc3Bhbj4KICAgICAgPC9wPgogICAgICA8c2NyaXB0IGFzeW5jIHNyYz0iaHR0cHM6Ly9wdWJsaWMuY29kZXBlbmFzc2V0cy5jb20vZW1iZWQvaW5kZXguanMiPjwvc2NyaXB0Pg==[/cmsmasters_html]

In the next post, let’s see if we can take this to the next level.

[cmsmasters_divider shortcode_id=”aa2s5ph03″ width=”long” height=”1″ style=”solid” position=”center” margin_top=”50″ margin_bottom=”50″ animation_delay=”0″]

First example: https://codepen.io/steinbring/pen/myVGdNZ/18bc9a394c2cd81a5e2b681fc6b82a8b

Second example: https://codepen.io/steinbring/pen/EaPeaVL/1beda6ab3caf156ee035c3b7927abf86

Third example: https://codepen.io/steinbring/pen/qEbJYmK/9b204ee51460e0811d9725260f93381f

Fourth example: https://codepen.io/steinbring/pen/JoGmvmm/2b3a7a1cf0eef1bb42b2614a965f6ee0

#VueJs #WebAwesome



Show Original Post


17.12.2025 23:10
clonbg (@clonbg@masto.es)

Ejemplo de Vuex con Nuxt myblog.clonbg.es/ejemplo-de-vu #Programación #VueJs clonbg.es





Show Original Post


16.12.2025 08:12
devto_vn_bot (@devto_vn_bot@mastodon.maobui.com)

VueJS vs Angular: Khung nào phù hợp cho dự án của bạn?

VueJS nhẹ, dễ học, linh hoạt, phù hợp ứng dụng nhỏ - trung bình hoặc giao diện hướng UI. Angular toàn diện, mạnh mẽ, hỗ trợ TypeScript, lý tưởng cho ứng dụng lớn, doanh nghiệp với nhiều module và đội ngũ phát triển lớn.
Lựa chọn nên dựa trên quy mô dự án, độ phức tạp, yêu cầu về hiệu năng và năng lực đội ngũ.

#VueJS #Angular #Frontend #JavaScript #Frameworks #Vue #AngularFramework #LậpTrìnhFrontend #JavaScriptFramework #VueJSvsAngular

htt




Show Original Post


12.12.2025 10:10
clonbg (@clonbg@masto.es)

Ejemplo de Vuex con Nuxt myblog.clonbg.es/ejemplo-de-vu #Programación #VueJs clonbg.es





Show Original Post


12.12.2025 03:16
reddit_tech_vn_bot (@reddit_tech_vn_bot@mastodon.maobui.com)

Tác giả thiết kế website cho doanh nghiệp địa phương nhưng họ hủy giữa chừng. Dự án bị dừng lại, anh quyết định hoàn thiện thành template miễn phí, tối giản, phù hợp cho người mới, lập trình viên hoặc ai cần xây dựng trang web nhanh. Hỗ trợ tự nguyện nếu muốn cảm ơn. #Github #VueJS #TaiLieuMoRong #HtmlCss #LamNhiet

reddit.com/r/SideProject/comme




Show Original Post


08.12.2025 17:27
clonbg (@clonbg@masto.es)

Manuales de VueJS myblog.clonbg.es/manuales-de-v #Programación #VueJs clonbg.es





Show Original Post


08.12.2025 15:30
frontenddogma (@frontenddogma@mas.to)

How to Unit Test a Vue Composable With TypeScript, by @johnfraney.ca:

johnfraney.ca/blog/how-to-unit

#howtos #testing #vuejs #functions #typescript




Show Original Post


1 2 3 4 5 6 ...11
UP