前言 上次写了用MySQL完成数据存储的图书管理系统, 这次我将把各个模块划分为系统的各个功能,通过flask框架与前端进行数据交互。做成一个小型的完整网页项目。 总的项目布局 项目布局很重要,什么类型的文件就放在对应类型的文件夹下。 static :里面放css用的图片等美化网页的文件。(这个项目只是练手,前端就没细搞,所以我这个文件夹里是空的) templates:里面放前端代码。 app.py:作为一个主文件运行,用来启动网站。 config.py:其实ap
2024-12-02代码: var w = document.documentElement.clientWidth var h = document.documentElement.clientHeight document.documentElement.clientWidth 获取浏览器窗口文档显示区域的宽度,不包括滚动条。 document.documentElement.clientHeight 获取浏览器窗口文档显示区域的高度,不包括滚动条。
2024-12-02脚本语言规范ES6-知识点1 什么是ES6? ES的全称是ECMAScript,它是由ECMA国际标准化组织制定的一项脚本语言的标准化规范。 ES6实际3上是一个泛指,泛指ES2015及后续的版本。 为什么使用ES6? 每一次标准的诞生都意味着语言的完善,功能的加强,JavaScript语言本身也有一些令人不满意的地方。 变量提升特性增加了程序运行时的不可预测性。语法过于松散,实现相同的功能,不同的人可能会写出不同的代码。 let关键字 ES6中新增的用于声明变量的关键字,主要是
2024-12-021. 柱状图(柱体顶部使用外部图片 <template> <div class="out-bg"> <div class="container" ref="warnChartRef"></div> </div> </template> <script> import * as echarts from 'echarts' export default { data() { return { jqrwChart: null, active:
2024-12-02Loguru 一个能彻底解放你的日志记录器。 它即插即用,具备多种方式滚动日志、自动压缩日志文件、定时删除等功能。 除此之外,多线程安全、高亮日志、日志告警等功能也不在话下。 下面就给大家介绍一下这个强大工具的基本使用方法。 Loguru 安装方式很简单,打开终端输入: pip install loguru 即可完成安装。 1.即开即用 在Loguru中,如果你需要输出 debug 日志到终端,可以这么做: from loguru import logger logger.debug("Th
2024-12-02webGL.js封装的代码。 const THREE = window.THREE; // webGL对象配置 export const webglOBJ = { renderDom: null, Scene: null, // 场景 camera: null, // 摄像头 renderer: null, // 渲染器 senceAdd (objList = []) { objList.forEach(v => { webglOBJ.Scene.add
2024-12-02问题描述: 后端返回一个数字,单位是kb,而我要展示成 KB,MB 等形式。大概写一个工具函数,JS来实现 function formatBytes(bytes) { const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB']; if (bytes === 0) return '0 Bytes'; const i = Math.floor(Math.log(bytes) / Math.log(1024)); retu
2024-12-02怎样理解 Vue 的单向数据流? 所有的 prop 都使得其父子 prop 之间形成了一个单向下行绑定:父级 prop 的更新会向下流动到子组件中,但是反过来则不行; 这样会防止从子组件意外改变父级组件的状态,从而导致应用的数据流向难以理解; 除此之外,每次父级组件发生更新时,子组件中所有的 prop 都将会刷新为最新的值; 所以不应该在一个子组件内部改变 prop,如果你这样做了,Vue 会在浏览器的控制台中发出警告; 子组件想修改时,只能通过 $emit 派发一个自定义事件,父组件接收到后,
2024-12-02这个错误的原因就是当前用户没有修改 windows 下 temp 文件夹的权限。
2024-12-02一、回答点 构造函数 实例 new 操作符通过执行自定义构造函数或内置对象构造函数,生成对应的对象实例. 二、深入回答 new操作背后的原理 1 ) 在内存中创建一个空对象. => 如: var coderhing = {} 2 ) 将构造函数的显示原型 赋值给这个对象的 隐式原型.coderhing.proto = Person.prototype 3 ) this指向创建出来的新对象 => this = coderhing
2024-12-02