写在文前 由于前端脚手架、打包工具、Node等版本的多样性,本文无法同时兼顾,文中所述皆基于以下技术栈进行。 脚手架:vue-cli3 打包工具:webpack4,集成在vue-cli3中,通过修改vue.config.js的方式进行配置 Node框架:koa2 简介 服务器端渲染,即采用“同构”的策略,在服务器端对一部分前端代码进行渲染,减少浏览器对页面的渲染量。 通常服务器端渲染的优点和用途有以下几点: 1.更好的SEO 2.更快的页面加载速度 3.在服务器端完成数据的加载 但需要注
2024-11-30当多个路由公用同一个组件时,会进行组件复用,只会更新数据而不会重新挂载组件实例。 那么它会触发哪几个钩子函数呢? watch( // 当路由更改时初始化不同的参数 () => route.name, (newVal) => { trackType.value = newVal == 'share' ? 'SHARE' : 'TRACE';//路由变化时赋值 queryParams.value.trackType = trackType.value;//赋值
2024-11-30摸鱼时写了一个下班倒计时html,每天五点半准时跑路 =^= 比较复杂的就是时间戳那块,算了一会才算出来的。上班族之利器=^= <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> body { background-color: #2a3852; } #box
2024-11-30自定义事件 自定义事件, 必须满足以下两个条件 $(".son").on("myClick", function () { alert("son"); }); $(".son").triggerHandler("myClick");
2024-11-30遍历是指按照一定的顺序访问数据结构中的每一个元素。无论是处理数组、对象还是更复杂的数据结构,遍历都是一个基础且关键的操作。本文将介绍几种常用的遍历方法,并通过实例演示它们的使用方法。 一、常规遍历方法 1.1 for循环 for 循环是一种基础且强大的循环结构,适用于任何类型的数组遍历需求。 参数说明 初始化表达式:定义一个计数变量。条件表达式:每次循环前检查该表达式是否为真。更新表达式:每次循环后执行,通常用来递增或递减计数器。 注意事项 确保更新表达式能够正确改变计数器以避免无限循环。使用时
2024-11-30自从ES6更新后,js有三种作用域 全局作用域函数作用域块级作用域 从执行上下文的角度来看作用域是什么? 全局作用域是全局执行上下文,函数作用域与函数执行上下文相关联 块级作用域在ES6中被介绍,它不同于以上两种作用域。 全局作用域的一个例子 最简单的方式理解块级作用域是将它与其他两中作用域比较 变量在全局作用域和函数作用域中工作相似,所以在这篇文章我们仅仅讨论全局作用域和块级作用域。 在这个例子中,我们仅有一个全局执行上下文和一个全局变量环境。 第二个apple覆盖了前一个,在程序执行后,
2024-11-30JavaScript中原型的存在很大程度上是对于内存的节省,因为如果JavaScript中没有原型的设定,就会有大量的方法根据实例的创建而创建,而很多的方法是该实例并不需要的但依然会被创建,每一个方法的创建都会开辟一个新的空间,这是对内存的极大消耗。 所以方法只存在于构造函数中,哪一个实例需要再去创建的想法就产生了,进而出现了原型这个概念 构造函数通过原型分配的函数是对所有对象共享的,不用再单独开辟内存空间了。 每一个构造函数内部都有一个prototype对象,我们需要把那些不变的方法放到这个p
2024-11-30实现效果: 关键代码: 下述代码都在一个Vue组件中,分别从template模块、script模块进行解释说明 template模块: <el-cascader class="normal" v-model="form.checkedType" :show-all-levels="false" :teleported="false" :optio
2024-11-30<template> <el-dialog v-el-drag-dialog :visible.sync="dialogVisible" title="选择文件导入" :close-on-click-modal="false" width="350px" @close="$emit('update:visible',false)" > <el-upload
2024-11-30闭包 词法作用域 先看一下这段代码 : function init() { var name = "Mozilla"; // name 是一个被 init 创建的局部变量 function displayName() { // displayName() 是内部函数,一个闭包 alert(name); // 使用了父函数中声明的变量 } displayName(); } init(); init() 创建了一个局部变量 name 和一个名为
2024-11-30