vuejs

Back Open Paginator
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


07.12.2025 11:52
damienbod (@damienbod@mastodon.social)

Updated .NET 10

Backend for frontend security using Vue.js Typescript, Vite, ASP.NET Core backend and Microsoft Entra ID

github.com/damienbod/bff-aspne




Show Original Post


05.12.2025 19:09
unknownmp (@unknownmp@mastodon.social)

终于是吧时间线写出来了
对了这个项目名称叫: NeoGen (还是不用tag好了, 这个tag有东西)
🤔 我想做成下一个 开源 / 可自托管(同人)论坛

技术栈主要是 C# + Go + Vue + Flutter
(图片里面 拾糖 其实是我在的一个论坛, 我技术组的, 先拿着顶一下)






Show Original Post


05.12.2025 16:24
clonbg (@clonbg@masto.es)

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





Show Original Post


04.12.2025 09:12
habr (@habr@zhub.link)

Как начать работать с Nuxt UI — библиотекой компонентов для Vue и Nuxt

Недавно UI-библиотека Nuxt UI получила серьёзное обновление — версию Nuxt UI 4. Это принесло два больших изменения. Во-первых, теперь можно использовать Nuxt UI не только с Nuxt, но и с Vue напрямую. Во-вторых, все ранее платные возможности (Pro-компоненты, стартовые шаблоны и Figma UI Kit) теперь полностью бесплатны. Всё это хороший повод разобраться, как же устроена Nuxt UI, в чём её преимущества и как начать с ней работать.

habr.com/ru/companies/timeweb/

#nuxt #nuxtjs #vue #vuejs #nuxt_ui #uiбиблиотеки #typescript #ui_kit #web #timeweb_статьи




Show Original Post


1 2 3 4 5 6 7 8 9 10 11 12 ...17
UP