👉🏻 A Vue 3 component library based on Material Design 2 and 3, supporting mobile and desktop.
💡 Vue Tip: Display Raw HTML
The double mustaches interpret the data as plain text, not HTML.
To output real HTML, you will need to use the v-htmlv-html directive:
1<script setup lang="ts">2const rawHtml = '<span style="color: red">This should be red.</span>';3</script>45<template>6 <p v-html="rawHtml" />7</template>
The contents of the spanspan will be interpreted as plain HTML, and all data bindings are ignored.
Vue is not a string-based templating engine, so we cannot use it to compose template partials with v-htmlv-html. Instead, components are favored as the fundamental unit for UI reuse and repurposing.
Dynamically rendering arbitrary HTML on your website can be very dangerous because it can easily lead to XSS vulnerabilities. Only use v-htmlv-html on trusted content and never on user-provided content.
If you are looking for a safe replacement for v-htmlv-html, you can use the vue-dompurify-html
👉🏻 This tool automatically cleans up TypeScript code by removing unused exports, deleting modules with no referenced exports, and reporting these changes without making modifications in check mode.
😂 Fun
🔗 Want more Vue & Nuxt content?
More Exclusive Vue Tips: Join Michael Thiessen's newsletter and get great Vue tips and insights delivered to your inbox each week.
Weekly Vue & Nuxt Videos: You must subscribe Alexander Lichter's YouTube channel if you are interested in Vue & Nuxt.
DejaVue Podcast: A weekly podcast about Vue.js and the ecosystem around it.
Comments? Join the discussion about this issue in our Discord community.
If you're using Vue 3, you're probably using composables. But other than using VueUse where you can, how do you get the most out of them? Over the past few years I've been slowly putting together a list of patterns and best practices for how to write composables in the best way. I've spent hours reading the source code of VueUse (one of the best — but most time-consuming — ways to learn it). I've read articles, listened to talks, and written lots and lots of my own code. I ended up with 15 different patterns, and each one will help you to write better composables. I've condensed and put all of these composables together into a course — Composable Design Patterns. Get Composable Design Patterns now. Because this is the launch, it's on sale for 35% off until Thursday. For each of the 15 patterns in this course, you'll get: A concise overview that tells you when and how to use it, along with variations and edge cases ...
Weekly Vue News #194 Reactive Time Ago View online Hi 👋 I'm on vacation this week, so no special news from my side — just some fresh Vue & Nuxt content for you! Enjoy this issue and have a lovely week ☀️ Vue 📕 Optimizing heavy operations in Vue with Web Worke...
Read this on my blog We made it to 200! Thanks for reading and supporting me over the last few years, it means a lot to me. Tomorrow is the last day of the Composable Design Patterns course launch and the 35% off discount. If you were hoping to pick it up, don't forget to check it out! As always, I've got some tips and links for you, and a new podcast episode. Enjoy, and have a great week! — Michael 🔥 Default Content with Slots You can provide fallback content for a slot, in case no content is provided: < !-- Child.vue --> < template > < div > < slot > Hey! You forgot to put something in the slot! < / slot > < / div > < / template > This content can be anything, even a whole complex component that provides default behaviour: < !-- Child.vue --> < template > < div > < slot name = "search" > < !-- Can...
评论
发表评论