CSS-in-JS 与 vue-styled-components

CSS-in-JS 是一种将 CSS 样式与 JavaScript 代码结合的方法,使得样式可以直接嵌入到组件中,从而实现更好的样式封装和动态计算样式。本篇学习笔记将介绍如何在 Vue 中使用 CSS-in-JS,以及 vue-styled-components 库的用法。 什么是 CSS-in-JS? CSS-in-JS 是一种将样式与组件关联的方法。它允许你将 CSS 样式编写在 JavaScript 代码中,使样式与组件逻辑更紧密地结合在一起。CSS-in-JS 可以实现以下优势: 样式封装:将样式与组件关联,避免全局样式的污染。 动态样式:使用 JavaScript 动态计算样式,根据 …

vue混入element ui全局追加表单验证规则

混入 (mixin) 提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。一个混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。   全局混入 使用全局混入,它将影响每一个之后创建的 Vue 实例。使用恰当时,这可以用来为自定义选项注入处理逻辑。 // 为自定义的选项 ‘myOption’ 注入一个处理器。 Vue.mixin({ created: function () { var myOption = this.$options.myOption if (myOption) { console.log(myOptio …

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed – JavaScript heap out of memory

TypeScript  和 webpack 时的常见问题。 项目过大时,使用 increase-memory-limit,增加node服务器内存限制 npm install -g increase-memory-limit 进入工程目录,执行: increase-memory-limit 原理 Node.js v8.0 开始,可以使用NODE_OPTIONS 环境变量来全局设置 max_old_space_size 来增加内存限制 export NODE_OPTIONS=–max_old_space_size=4096 increase-memory-limit 将附加 –max-old- …

Vue 3 引入 Fullcalendar

Vue 3 引入 Fullcalendar JS版 <template> <div class=”card” ref=”cal”></div> </template> <script> import { ref,defineComponent, onMounted} from ‘vue’; import {Calendar} from ‘@fullcalendar/core’ import dayGridPlugin from ‘@fullcalendar/daygrid’; import timeGridPlugin from ‘@ …

vue 3 获取DOM

Vue 2获取DOM <div ref=“Ref”></div> this.$refs.Ref Vue 3获取单DOM <template>   <div ref=“Ref”>获取单个DOM元素</div> </template> <script> import { ref, onMounted } from ‘vue’; export default {   setup() {     const Ref = ref(null);     …

vue3 迁移 父子组件传值同步

代码中 .sync 的部替换为 v-model: <ChildComponent :title.sync=”pageTitle” /> <!– 替换为 –> <ChildComponent v-model:title=”pageTitle” /> 对于所有不带参数的 v-model,请确保分别将 prop 和 event 命名更改为 modelValue 和 update:modelValue <ChildComponent v-model=”pageTitle” /> // ChildComponent.vue export default …

vue3 vue2 keep-alive 差异

配置App.vue vue2.x与vue3.0的App.vue配置有差异,在App.vue配置信息如下: vue2.x中,router-view可整个放入keepalive中,如下: <template> <!– vue2.x配置 –> <keep-alive> <router-view v-if=”$route.meta.keepAlive” /> </keep-alive> <router-view v-if=”!$route.meta.keepAlive”/> </template> vue3.0的A …