让后台原来转义的"" 换成"<" ">", 就可以了:
let htmlStr = `180<X<=360`;
const parser = new DOMParser();
const html = parser.parseFromString(htmlStr, "text/html");
console.log(html);
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241023/06075773108d87db10d36e64734d5fdb.png)
疯狂的搬运工
element 级联选择器数据源过滤?
element 级联选择器,选项是全国行政区划。此时后端返回的是一个二维数组,比如[['浙江省','杭州市','余杭区'],['江苏省','南京市]],
修改级联选择器选项的树型结构的值为
[
{
"code": "32",
"name": "江苏省",
"children": [
{
"code": "3201",
"name": "南京市",
"children": [
{
"code": "320102",
"name": "玄武区"
},
{
"code": "320104",
"name": "秦淮区"
},
{
"code": "320105",
"name": "建邺区"
},
{
"code": "320106",
"name": "鼓楼区"
},
{
"code": "320111",
"name": "浦口区"
},
{
"code": "320113",
"name": "栖霞区"
},
{
"code": "320114",
"name": "雨花台区"
},
{
"code": "320115",
"name": "江宁区"
},
{
"code": "320116",
"name": "六合区"
},
{
"code": "320117",
"name": "溧水区"
},
{
"code": "320118",
"name": "高淳区"
}
]
}
]
},
{
"code": "33",
"name": "浙江省",
"children": [
{
"code": "3301",
"name": "杭州市",
"children": [
{
"code": "330110",
"name": "余杭区"
}
]
}
]
}
]
请问这个算法该如何编写?
疯狂的搬运工
k8s集群内的Pod一般是只有一个IP地址端口是吗?
一个 pod 可以有一个独立的 ip ,在这个 ip 上的所有端口它都是可以用的,可以使用多个。
疯狂的搬运工
如何在Vue2的render方法中限制样式作用域?
Vue2的render来编写组件,如下:
// 引入css文件
import "./style.css";
export default {
name: "customPage",
data() {
return {};
},
methods: {},
render: function (h) {
return Hello render;
},
};
现在的问题是它的样式无法设置为局部样式,导致全局样式被污染了,请问该如何解决?
目前没有找到解决办法。
疯狂的搬运工
Vue3 ag-grid 中文语言配置步骤?
请问 ag-grid 在vue3 项目中如何配置中文语言
官网看的不是很明白
疯狂的搬运工
node做中间件是什么?
之前有类似的贴子回答过,可以参考一下
"https://segmentfault.com/q/1010000044320192" (https://segmentfault.com/q/1010000044320192)
«你可以把"中间件"理解为一种扩展方式,通用库/框架/运行时在设计时,为了增加一些"关键流程"的可扩展性,都会采用比如像"切面编程"等思想来实现我们常说的"中间件,插件"等机制就用你问题场景中的 "http" 请求与响应举例,通常业务开发都不会直接使用node提供的 "http"
模块,因为要处理的细节还是比较多,通常会选用一个对 http 封装简化后的上层库而"上层库"肯定只负责提供一些更简洁的方式来给开发者使用,不会涉及任何"业务逻辑"或者"特殊处理",那么使用者想在一些"关键阶段"做一些业务上的处理该怎么办呢,这里就回到主题了,"中间件"的作用就是解决这种场景下的问题由此也可以知道,"中间件"肯定是一段具体的代码,并且是按照对应的库的要求,编写的具有一定格式的代码。补充一点,很多库为了"减轻"核心模块的"代码体积",也会把部分通用功能以"中间件"的方式实现,由使用者来选择使用»
疯狂的搬运工
Python 数据库插件 Sqlalchemy 为什么不能关闭连接?
为什么这段代码不会关闭数据库连接呢 "SELECT * FROM information_schema.PROCESSLIST;"
from sqlalchemy import create_engine, URL, delete, update, select, exists
from sqlalchemy.orm import sessionmaker, scoped_session
from core.database.base import Base
from lib.type import Type
from typing import Any
from flask import g, current_app
import importlib
import re
class Database:
ENV = None
def set(self, key: str, value: any):
"""
@ 主要场景:令牌守卫设置[读取令牌下的]
"""
if self.ENV == "Application":
g.Application = self.container._replace(**{key: value})
if self.ENV == 'Platform':
g.Platform = self.container._replace(**{key: value})
@property
def container(self):
if self.ENV == "Application":
if "Application" not in g:
g.Application = Type.Application(None, None, None)
return g.Application
if self.ENV == 'Platform':
if "Platform" not in g:
g.Platform = Type.Platform(None, None)
return g.Platform
@property
def database_conf(self):
"""
@ [平台-数据库]:配置
"""
return Base.setting(current_app.config["Database"])
@property
def __database_core(self):
return self.__create_session(**self.database_conf)
@property
def __create_engine(self):
"""
@ 数据库引擎[缓存]:生成器
"""
core = self.__database_core
self.set("engine", core.engine)
return core.engine
@property
def __create_database(self):
"""
@ 数据库[缓存]:生成器
"""
core = self.__database_core
self.set("database", core.session)
return core.session
def __create_session(self, **config):
"""
@ 创建容器:节约开销
"""
engine = self.create_engine(**config)
session = scoped_session(sessionmaker(bind=engine, autoflush=True))
return Type.Database(engine=engine, session=session())
@classmethod
def create_engine(cls, **kwargs):
"""
@ 创建连接:引擎
"""
return create_engine(URL.create("mysql+pymysql", **kwargs), echo=True, isolation_level="AUTOCOMMIT")
@staticmethod
def create_all(models: list, engine=None):
"""
@ 创建模型:批量
"""
tables = [Database.get_model(model).__table__ for model in models]
Base.metadata.create_all(bind=engine, tables=tables)
def create_table(self, tables: list):
Database.create_all(models=tables, engine=self.__create_engine)
@staticmethod
def get_model(model: str):
"""
@ 获取模型:对象实例
"""
module = importlib.import_module(f"model.{model.split('_')[0]}.{model}")
class_name = ''.join(re.findall(r"[a-zA-Z]+", model.split(".")[-1].title()))
return getattr(module, class_name)()
@property
def database(self):
"""
@ 数据库[缓存]
"""
return self.__create_database if getattr(self.container, "database") is None else self.container.database
def table_data_query_all(self, model: Any, condition: list = None, order: list = None, limit: int = 500,
fields: list = None) -> list[dict]:
"""
@ 查询:多条
"""
query = select(model)
if fields is not None:
query = query.with_only_columns(*fields)
if condition is not None:
query = query.filter(*condition)
if order is not None:
query = query.order_by(*order)
asdasdas = [row.dict() for row in self.database.execute(query.limit(limit)).scalars()]
self.database.get_bind().dispose()
return asdasdas
def table_data_query_one(self, model: Any, condition: list = None) -> dict:
"""
@ 查询:单条
"""
result = self.database.execute(select(model).filter(*condition).limit(1)).scalar_one_or_none()
return None if result is None else result.dict()
def table_data_query_exists(self, condition: list) -> bool:
"""
@ 查询:存在
"""
return self.database.query(exists().where(*condition)).scalar()
def table_data_insert_all(self, models: list) -> None:
"""
@ 批量新增
"""
with self.database as db:
db.add_all(models)
db.commit()
def table_data_insert_one(self, model, data: bool = False) -> int | dict:
"""
@ 单个新增:默认返回自增主键:可选返回整条数据
"""
with self.database as db:
db.add(model)
db.commit()
return model.dict() if data is True else model.id
def table_data_update(self, model: Any, condition: list, data: dict) -> None:
"""
@ 批量新增
"""
with self.database as db:
db.execute(update(model).where(*condition).values(**data))
def table_data_delete(self, model: Any, condition: list) -> None:
"""
@ 批量新增
"""
with self.database as db:
db.execute(delete(model).where(*condition))
def close(self):
"""
@ 关闭数据库连接
"""
if self.database is not None:
self.database.close()
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241013/5d8cbfbfb5b0b81d409ff9688ae9cdeb.png)
疯狂的搬运工
如何设置第一个类为xxx的元素的样式?
如何设置第一个类为xxx的样式?
问题: 比如我要设置第一个拥有red的元素的样式,css如何选中
Document
.red:first-child {
color: red;
}
我是span
我是h1,只设置我的样式为红色
我是h1
我是h1
我是h1
疯狂的搬运工
git拉取代码报错,如何解决?
git拉取代码报如下错误,什么原因导致得啊
Auto packing the repository in background for optimum performance.
See “git help gc” for manual housekeeping.
Unlink of file '.git/objects/pack' failed. Should I try again? (y/n)
正确解决办法?
疯狂的搬运工
浏览器中执行的scratch,是如何让角色可以同时做多件事的?
微任务或者宏任务模拟的吧。
浏览器其实也有办法,比如说用 worker,但是感觉没必要。盲猜是模拟的
当然,如果让我自己做这样一个东西,无非就是执行两次 addeventlistener,你可以用 jquery 体验一下
疯狂的搬运工
这是什么请求问题?
出现Provisional headers are shown的几种可能性
* 跨域,请求被浏览器拦截
* 请求被浏览器插件拦截
* 服务器出错或者超时,没有真正的返回
* 强缓存from disk cache或者from memory cache
疯狂的搬运工
git 对比不同分支?
«方案A»
"git diff branch_A..branch_B" 但是看起来好像并不太方便。。。
第三方的工具可以有:
* "diff-so-fancy" (https://link.segmentfault.com/?enc=4tpsAAi8M0q18x4Z4WEVTg%3D%3D.mqy4XGNxoIfH%2BslZv9QA7RbIWaKYS5eG8k6Jac7tmfhUz4%2B3hjxChagoiD%2B1cSRU)
* "delta" (https://link.segmentfault.com/?enc=EX4fKD9B0ot6bcfraTbRrw%3D%3D.pHQ3LDqsTjMGD8LnkZfQfIDLabVSZZy8XqszHvbW9kzG0blhNnnVPvHAA7jZ2rSo)
我个人使用第二个,UI更好看一些,而且是左右两个窗口,终端上直接可以看。
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241008/53df70a318380d9d2342af43d48259aa.png)
«方案B»
vscode有 "gitlens" 插件,可以更为直观的看不同branch的具体差异。
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241008/20541e532c68922a2bd6dc26f287ccbc.png)
疯狂的搬运工
ts怎么用type给非对象定义可选值呢?
如果为了规范可以用枚举
export enum ButtonType {
Default = 'default',
Primary = 'primary',
Danger = 'danger',
Warning = 'warning',
}
export function setButtonType(type: ButtonType): void {
}
// 其他文件可以导入此枚举或者方法
setButtonType(ButtonType.Primary);
疯狂的搬运工
TypeScript 中类型不匹配导致的重载错误要怎么改?
https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241007/9752642b3d524e568b5f5876a409bd36.png
https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241007/faf7082711d610e6839f8db0eb88bcc4.png
https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241007/894912a541d3afd7372e5e9324496650.png
watch(
() => props.counterData,
(newVal: FlightSerialData) => {
formData.value.flight_date = newVal.flight_date
formData.value.flight_no = newVal.flight_no
formData.value.id = newVal.id
formData.value.open_time = newVal.counter_open
formData.value.close_time = newVal.counter_close
if (newVal.counter_name) {
formData.value.counter_names = newVal.counter_name.split(",")
}
},
{ deep: true }
)
没有与此调用匹配的重载。
最后一个重载给出了以下错误。
类型“() => Record | undefined”的参数不能赋给类型“FlightSerialData”的参数
各位大佬,这个要怎么改?
疯狂的搬运工
修改哪个配置文件可以恢复被AMH防火墙禁止的IP访问?
IP怎么被amh禁止访问了? 面板的『防火墙』禁止IP是要你手动操作的啊,
你可以在防火墙看当前有哪些规则,禁止了可以手动删除。
类似如果禁止44.44.44.44的ip就会有这样的规则,你可以删除掉,
-A INPUT -s 44.44.44.44/32 -p tcp -m tcp -j DROP
疯狂的搬运工
举例说明声明式语法和指令式语法?
SwiftUI 是声明式语法,对比与指令式语法的话,可以举例说明它们的区别吗?
疯狂的搬运工
子组件在父组件循环调用,子组件的数据是固定的,想做优化,这样做对吗?
问题1 子组件是个select ,数据都是从api获取,每次都是固定的内容。
父组件中的列表需要大量调用这个子组件,每次这个组件都需要调用api获取数据,每次数据都是一样,这个地方是不是需要优化?
问题2 如果需要优化的话,从react官网找了一下,简单做了更改,理论上每次excuteCallBack 是同一个引用,但是debug的时候
useEffect每次被调用没法证明excuteCallBack 是不是同一个引用呢?
理解不足,希望解答一下。
import React, { useCallback, useEffect, useState } from "react";
import { Team, User } from "@/type/user";
import { Select } from "antd";
import { getTeams } from "@/api";
const { Option } = Select;
interface Props {
record: User;
}
const CusSelect: React.FC = ({ record }) => {
const [teams, setTeams] = useState>();
const excuteCallBack = useCallback(
() => {
return getTeams()
},
[]
)
useEffect(() => {
console.log('excuteCallBack reference:',new Date(), excuteCallBack);
async function excute() {
try {
let rest = await excuteCallBack();
//debugger
setTeams(rest.data);
} catch (error) {
console.log(error);
}
}
excute();
}, [excuteCallBack]);
return (
{
alert(JSON.stringify(record) + value);
}}
>
{teams?.map((item) => (
{item.team_name}
))}
);
};
export default CusSelect;
疯狂的搬运工
.rst 文件一般是什么文件?
我们经常看到api的描述文件都用.rst结尾:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241005/1a7090c19ce60b4713b91223eb1a9834.png)
请问, .rst 文件一般是什么文件?
疯狂的搬运工
settings.json改动问题?
这个需求。。。
你可以改 vscode 的全局配置,而不是对这个项目的配置,但是这样会对 vscode 打开的所有项目都生效。不然还是老老实实改 .gitignore 吧
疯狂的搬运工
Webpack 中 vendor 跟 DLL 如何取舍?
个人阅读文档返现,Webpack 中 vendor 跟 DLL 都是针对不容易发生变化的单独处理的解决方案,二者该如何对比跟选择呢?
疯狂的搬运工
前端页面跳转时发生无限循环是为什么?
语法
object.replace(url);
参数
url
DOMString 类型,指定所导航到的页面的 URL 地址。
从MDN文档里面看到只能传一个参数,你为什么传了两个
疯狂的搬运工
如何将package-lock.json的dependencies与packages同级设置方法?
为了做安全漏洞扫描,我希望将package-lock.json里面的dependencies与packages是同级。预期效果如下:
{
“name”:"test",
"version": "0.01",
"lockfileVersion": '2",
"requires": true,
"packages": {},
"dependencies": {
}
}
我试过将package-lock.json文件删除,重新执行npm install,但依然不行。
node version:20.10.0
npm version:10.2.3
angular version:17.3.0
疯狂的搬运工
Element-UI Cascader组件省市区多选相关?
有个需求要求一个组件能进行省市区的多选,我把目标投向了element-ui官网的Cascader组件,该组件支持多选。省市区的获取有两种方式,一种是后端直接返回完整的树形结构,数据量有点大(现在要求的是三级级联,估计区有2000多个),估计页面渲染会有卡顿,第二种是通过懒加载获取,但是回显可能存在这种情况就是,如果当时多选时选的数据有点多,那么回显时会通过懒加载调级联接口可能也会很多(因为回显需要对应的树形结构),也会很卡顿,有没有别的实现方式呢?
有没有别的方式可以实现这种需求?
疯狂的搬运工
前端/vue生态下,还有比 markdown-it 更好用的 markdown 组件吗?
用vitePress开个项目,然后内嵌到你的项目里
疯狂的搬运工
如何通过chrome控制台查找网页占用CPU过高的原因?
我手里有一个nuxt3写的前端项目,跑起来之后,在网页停留一段时间以后,页面卡顿,
使用chrome的"性能监视器"查看CPU使用过高,
使用chrome的"回收垃圾"强制回收之后,发现js堆迅速又提高了,
请问如何通过chrome查找到网页CPU占用过高的根本原因
疯狂的搬运工
获取子栏目方法应该放在Entity还是Service层?
两种写法都可以,取决于项目设计。
从面向对象的角度出发,写在Entity中是对的。毕竟Java是面向对象的语言 :)
但是就常见的项目实践来说,一般是写在Service层。说到底现在的项目还是面向接口编程居多,而且考虑到MyBatis-Plus在项目中的应用,很多项目会使用覆盖式策略自动生成Entity层的实体类对象代码,如果把getChilgren方法写在Entity层,一但数据库调整导致刷新Entity层代码,很可能导致这些自定义的方法被覆盖删除,导致项目报错。
综上,如果是面向对象的实践项目或者自己用的小项目,自己喜欢就好,写在Entity会更符合语义。如果是团队项目,建议配合团队项目规范,通常是后者。