重新认识vue之事件阻止冒泡
冒泡的表现近期用vue做了一个需求,大概是同一个区域,点击不同位置有不同的响应函数,还有个总的响应函数,好吧,如下图所示:
他们的DOM结构如下:
12345678<div v-for="(item, index) in listData" @click="handleClick3"> <el-col :span="grid"> <div @click="handleClick1"></div> </el-col> <el-col @click="handleClick2"> </el-col></div>
冒泡在这里的表现就是当用户点击图中事件1或事件2区域时,事件3也会执行。这是因为时间冒泡机制,导致点击’handleClick1’时’handleClick3’ 也会响应。在大部分的时候这都是不希望的, 同样我这里也 ...
Extraneous non-props attributes (id) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.
問題分析 1报错翻译无关的非道具属性(类)被传递给组件,但不能被自动继承,因为组件呈现片段或文本根节点。
存在的问题根据报错信息首先检查是否传递了没有解析的属性,可以检查一下你用的第三方的组件,或者自己编写的组件,是否 存在没有解析的属性,例如:class等属性
其次,还有一个重要原因是组件呈现片段或文本根节点,即组件暴露在了最外层。也就是vue内置或封装的组件、使用的第三方组件是否直接放在了template下。外面套一层div即可解决。
問題分析 2大致意思就是 ➡ 额外的非prop属性(xxx)已传递给组件,但由于你的组件渲染片段和文本根节点,无法自动继承。
当你的子组件中有多个根节点时,Vue使用透传Attributes机制也没有办法确定要在哪一个根节点继承属性时,就报出了上诉警告。
透传Attributes
关于什么是透传Attributes,官方说得已经很清楚了就是不好找,阅读起来也不算难。文章中的蓝字链接都可以跳转。给个链接 ➡透传 Attributes
解决办法
第一种情况,就是你有需要传输一个prop属性的数据给子组件,但是你在子组件中忘记用defineProp ...
Mac安装mysqlclient报错:Can not find valid pkg-config name
错误信息12345678910111213141516171819202122232425262728293031323334353637383940414243Collecting mysqlclient Using cached mysqlclient-2.2.1.tar.gz (89 kB) Installing build dependencies ... done Getting requirements to build wheel ... error error: subprocess-exited-with-error × Getting requirements to build wheel did not run successfully. │ exit code: 1 ╰─> [24 lines of output] Trying pkg-config --exists mysqlclient Command 'pkg-config --exists mysqlclient' returned non ...
查看本机的出网ip地址
实现原理请求一个公网服务,对方服务接收到的请求ip即为本机的出网ip地址。可以使用专门提供ip查询服务的网站,对方会将获取到的ip返回给你。
1234567curl ifconfig.mecurl icanhazip.comcurl curlmyip.comcurl ip.appspot.comcurl ipinfo.io/ipcurl ipecho.net/plaincurl www.trackip.net/i
selenium:如何解决打开网页加载时间过长问题
1234567891011121314151617181920212223from selenium import webdriver driver = webdriver.Chrome() # 设置页面加载时间driver.set_page_load_timeout(5) start = time.time() try: driver.get(driver.get('https://www.baidu.com'))except: # 捕获timeout异常 driver.execute_script('window.stop()') # 执行Javascript来停止页面加载 window.stop() end = time.time()# 页面加载所需时间print(end-start) el = driver.find_element("name", value='wd')#对元素输入文本el.send_ ...
pip-compile & requirements.in
制作 requirements.in123456789101112131415fastapi~=0.111.0starlette~=0.37.2SQLAlchemy~=2.0.29pydantic~=1.9.0uvicorn~=0.29.0PyMySQL~=1.0.3mysql-connector-python~=8.3.0requests~=2.31.0sonyflake-py~=1.3.0retrying~=1.3.4python-dateutil~=2.8.2redis~=5.0.4pip-tools~=7.4.1pytest~=8.2.1python-jose~=3.3.0
安装 pip-tools1pip install pip-tools
生成 requirements.txt1pip-compile --strip-extras requirements.in
OTP动态口令
如上图,是一种基于时间同步的OTP计算方式,是通过客户端和服务器持有相同的密钥并基于时间基数,服务端和客户端采用相同的Hash算法,计算出长度为六位的校验码。当客户端和服务端计算出的校验码相同是,那么验证通过。
python: memory_profiler包,记录代码内存使用情况,查找内存泄漏原因
前言最近用paddlepaddle,发现训练每个epoch时,内存都会增加几百兆,这明显就是出现了内存泄漏。python中内存泄露的原因比C++(一般就是动态内存分配)更加隐蔽,可以借助memory_profiler这个包监控python代码的内存使用。
安装直接pip安装就完事了
1pip install memory_profiler
简单使用只需要在.py文件中导入memory_profiler包中的profiler方法,然后作为某个函数的装饰器,就能够记录该函数内部代码的内存使用情况了:
12345678910111213141516171819# learn_mprof.pyfrom memory_profiler import profileimport numpy as np@profiledef count(): print('+++++++++++') a = 0; b = 1; c = a + b print('a+b=c') print('{}+{ ...
面试突击:说一下MySQL事务隔离级别?
MySQL 事务隔离级别是为了解决并发事务互相干扰的问题的,MySQL 事务隔离级别总共有以下 4 种:
READ UNCOMMITTED:读未提交。
READ COMMITTED:读已提交。
REPEATABLE READ:可重复读。
SERIALIZABLE:序列化。
1.四种事务隔离级别1.1 READ UNCOMMITTED读未提交,也叫未提交读,该隔离级别的事务可以看到其他事务中未提交的数据。该隔离级别因为可以读取到其他事务中未提交的数据,而未提交的数据可能会发生回滚,因此我们把该级别读取到的数据称之为脏数据,把这个问题称之为脏读。
1.2 READ COMMITTED读已提交,也叫提交读,该隔离级别的事务能读取到已经提交事务的数据,因此它不会有脏读问题。但由于在事务的执行中可以读取到其他事务提交的结果,所以在不同时间的相同SQL 查询中,可能会得到不同的结果,这种现象叫做不可重复读。
1.3 REPEATABLE READ可重复读,MySQL 默认的事务隔离级别。可重复读可以解决“不可重复读”的问题,但还存在幻读的问题。所谓的幻读指的是,在同一事务的不同时间使用相同SQ ...
一份测试代码囊括 go web 开发的主要 utils
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220 ...