👉🏻 Create 3D scenes with Vue components and Three.js.
🔥 Vue Tip: Simpler Two-Way Binding in Vue With defineModel
v-modelv-model is a powerful feature in Vue that allows you to create two-way data bindings on your components. However, defining the props and emits in every component can be a bit verbose.
Since Vue 3.4 you can simplify two-way binding in Vue with the defineModeldefineModel compiler-macro, which is now the recommended way to define v-modelv-model bindings.
When you create a component that uses v-modelv-model, you need to define a prop and an emit for the value. For example, if you have a component that uses v-modelv-model to bind to a value prop, you would need to define the following:
defineModel is a new script setupscript setup macro that aims to simplify the implementation of components that support v-modelv-model. It automatically defines the modelValue prop and the update:modelValue emit for you.
Let's rewrite the above example using defineModeldefineModel:
1<script setup lang="ts">2const model = defineModel()3</script>45<template>6 <input v-model="model">7</template>8
I love this simple and clean syntax. It makes the code much easier to read and write.
My blog post contains additional information about multiple v-modelv-model bindings, modifiers and typing.
👉🏻 Learn how they optimize web performance by eliminating client-side rendering and reducing hydration, a feature inspired by React's Server Components.
👉🏻 Quill is a rich text editor that has official TypeScript support, support for multiple editors on the same page with different configurations, auto-scrolling container detection, a smoother editing experience, and more.
😂 Fun
Comments? Join the discussion about this issue in our Discord community.
Sunday, January 5, 2025 Update: Bluesky images work again and thus the Great Art on Bluesky channel is back. If you're on Bluesky please subscribe. # The crazy thing about Bluesky's API is they took already standardized things like links and enclosures, and after 20+ years came up with new definitions. Makes our apps more expensive to maintain, and we waste time and human wear and tear on stupid bullshit make-work. Developers are people, and our work is already horribly overly complex, we're working at the edge of comprehension, and what the fukc let's throw some more unnecessary complication into the mix. Arrogance, narcissism, whatever the source is, it's not a good way to introduce yourself. And, even better, after you go through the maze they break it, with an error message about legacy blob bullshit. They've already done this, and they're just getting started. It's why I say they should just adapt to RSS instead of trying to forc...
评论
发表评论