本节:1月份的学习笔记

  1. Unhandled error during execution of scheduler flush. This is likely a Vue internals bug.

执行调度程序刷新期间发生未处理的错误。这可能是Vue内部错误。代码逻辑,或者变量写错了,比如table要用[],我写成了{}。

解决办法,就是把遇到的代码全部看一遍,一个一个排查,发现是因为偷懒,直接用老方法,然后需求不兼容导致的。

 2.定义变量的时候,不能全部都设置any,要思考是什么类型的

3.JavaScript 中的 valueOf() 方法用于返回指定对象的原始值,若对象没有原始值,则将返回对象本身。通常由JavaScript内部 调用,而不是在代码中显式调用。

例子:计算时间日期,dayjs将时间转换成时间戳(全数字)相减,就可以得出除去那个范围的时间

import dayjs from "dayjs";

// 开始时间
const disabledEndDate = (endTime: string) => {
  const startTime = searchList.startTime;
  if (!endTime || !startTime) {
    return false;
  }
  console.log(dayjs(startTime).valueOf(), "56323035133614)"); //dayjs转换成时间戳
  return dayjs(startTime).valueOf() - dayjs(endTime).valueOf() > 0;
};

 4.给虚拟机里面安装环境。先安装好虚拟机,使用光盘的。

安装nbp环境步骤:

xshell 连接  ssh ip地址(拿环境包的IP地址

点绿的,点击一下返回,拿到压缩包,移到桌面,然后再ssh连接到要安装的虚拟机,把安装包移动进去 :解压,安装

 tar  -xvf 安装包名字

再使用授权码,授权一下就可以了

 5.虚拟机ping得通百度,而且也是桥接模式也在一个网段,就是ping不通本地主机,有可能是本机的防火墙关,关了就通了

6.响应式,使用a-row和a-col ,如果是表单则是label控制,如果是缩放的高度的话,则使用多媒体响应式。

@media screen and(max-width:750px){//小于750px时候的

.topClass{

Margin-top:8px}

}

7.判断字符串是否包含空格:

//RegExp()正则表达式匹配
var textStr= "khj kshdf";
var judgeFn = /\s/g;  //正则表达式
if (judgeFn.test(textStr)) {
	console.log("【结果】:内容包含有空格!");
}   test() 方法用于检测一个字符串是否匹配某个模式.

去除字符串内所有的空格:str = str.replace(/\s*/g,"");

8.vscode设置中文:中文设置
按快捷键“Ctrl+Shift+P”。
在“vscode”顶部会出现一个搜索框。
输入“configure language”,然后回车。
“vscode”里面就会打开一个语言配置文件。
将“en-us”修改成“zh-cn”。
按“Ctrl+S”保存设置。
关闭“vscode”,再次打开就可以看到中文界面了。

9.取数组里面的最大值: Math.max(startArr);

10.对象就要用reactive,但是用了这个之后,就获取不到值,原因是这样不能直接等于赋值,用合并比较好;还有就是可能是我的类型定义错了,导致赋值有问题

11.copyForm.option.runTime.splice(index, 1);   //splice(删掉指定下标位置的元素,往后删几个) 

12.hook就是钩子函数:编写格式:
(1)引入要用的api  (2)export const useName = ()=>{  }  //写一些常用的方法,比如分页,权限过滤,都是.ts后缀的文件
13.util实用程序,里面可以写自定义指令,类型转换判断,常用的数组,是.ts后缀的文件
14.git 提交时遇到冲突,解决冲突之后,再pull,提交一遍,要是还是有问题,可以git stash 把文件先暂存一下,再git stash pop 再还原再修改一次冲突,git status 看看提示,根据提示执行即可
15.学习了动态组件<component></component> 实际显示什么内容,是通过is来决定 ,还有保存上一个页面的数据缓存,使用<keep-alive>缓存即可
16.注册props,自定义属性传数据,类型校验type:string,单向数据流,遵循单向绑定,子组件的变化不影响父组件,父组件改变影响子组件
17.<slot>插槽,说白了,就是父组件里面放的子组件文字可以传到子组件里面,<slot>可以在子组件显示出父组件的内容
18.v-model修饰符
.lazy :change事件更新后更新数据;.number:用户输入内容自动转换为数字;.trim:自动去掉用户输入内容的空格
19.文章写代码的结构都是,先创建文件夹,存放一级的页面,一级页面一般就是组件,点击组件,在跳转到组件,组件里面如果有常用的type、数组、方法就封装出来,不然就重新创建新的文件夹放进去
网上很多都只是基础教程,现阶段需要看代码专研了。(文章表单组件的编写,就是写表单组件一个文件.ts,再写一个表单动态判断栏目的.ts文件。这里有多个栏目在这里,要进行动态的判断

20.学习了一些函数:reduce() 方法接收一个函数作为累加器;Array entries()
从数组中创建一个可迭代的对象,就是可以返回一个key value形式的数组,下标为key,元素为value;hasOwnProperty() 方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键)。

21.函数调用的方式创建组件
22.二次封装 :在原来租组件的基础上,添加自己想要的功能,又保留原来的功能。使用v-bind ="$attrs" 可以引入组件原来所有的props元素。组件模块编写:
script:props写属性,setup写事件
tempalte:写界面布局
style:写样式       .$lisenters将事件处理函数传给子组件
利用父组件上的$listeners属性,这个属性包含了父组件的v-on事件监听器;$slots
 可以从父组件传文字给子组件,传递作用域插槽,使用$scopedSlots属性,包含了组件接收的所有插槽·
23.withDirectives()#
用于给 vnode 增加自定义指令。
withModifiers()#
用于向事件处理函数添加内置 v-on 修饰符
PropType<T>#
用于在用运行时 props 声明时给一个 prop 标注更复杂的类型定义。
为组件的 emits 标注类型#
我们可以给 emits 选项提供一个对象来声明组件所触发的事件,以及这些事件所期望的参数类型。试图触发未声明的事件会抛出一个类型错误:
24.自定义组件模块编写:
script:props写属性,setup写事件
tempalte:写界面布局
style:写样式    

 

 

 这样写法css是默认值有要去控制是否显示,就是那个叉叉是否显示。

25.要告诉自己,自己不是蠢,是不细心,很多细节没记录下来就容易忘记所以没解决;遇不到不会的,不是蠢,是没学过,学一下就可以了,只是一个语法问题,没其他问题;所以要多花时间学习。

学而不思则罔,思而不学则殆,要记录笔记,要再复盘笔记,想想代码有没有更优化的地方。

每天下班不追求多学什么,就多看一个知识点,十分钟的就可以了。

周六11-12点可以学习一个小时,下午3-5点学习2个小时,周日也是,现在能力无论是解决问题的方法,还是代码技术的积累都不够支撑项目,必须要努力学习才可以。学习任何行业都有一个痛苦的过程,才可以上一个阶梯。

26.之前一直不知道为什么a-select 明明选择了一个,可是它自动点击两个, 我估计是其他地方设置的值太多了。乱了,我还各种百度,看其他地方,白白浪费了很多时间,又焦头烂额的,实际上,解决办法就是,这个地方出问题,就只看这个地方,是不是变量写错了,或者去看这里对应的方法,一条一条数据的删掉,去看看是不是哪里影响了

 27.计算不同type类型,显示不同的内容

 28.arr.reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

reduce() 可以作为一个高阶函数,用于函数的 compose。

注意: reduce() 对于空数组是不会执行回调函数的。

可以计算数组里所有值的和

https://blog.csdn.net/w17624003437/article/details/125858710

29.Array entries()

从数组中创建一个可迭代的对象,就是可以返回一个key value形式的数组,下标为key,元素为value

 30.forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。 

var arr = [1, 2, 3, 4, 5];
arr.forEach(()=>(item) {
    if (item === 3) {
        return;
    }//3就不输出了
    console.log(item);  

 31.文章表单组件的编写,就是写表单组件一个文件.ts,再写一个表单动态判断栏目的.ts文件。这里有多个栏目在这里,要进行动态的判断

 32.异步组件

list :() =>import(/*这是魔法注释,可以改变文件的名字webpackChunkName:"list"*/,"组件地址")

//这个文件会在点击之后,才调用,实现异步调用的功能。设置了异步组件的方法。

 33.使用锁,防止重复请求。请求返回前不允许二次请求

定义一个初始化为false的变量

if(isLock){ return}

//为真就不能再次调用搜索方法

asycnInt().then((res)=>{

//这里获取到值

才设置为 islock = false //说明在请求

})

 34.判断是不是数组:Array.isArray(数组名)如果对象是数组返回 true,否则返回 false。

35.扩展了一个新的v-model:name属性,现在可以绑定两个属性

36.焦虑没有用,只会痛苦也没有意义。学习才是唯一解决办法,哪怕不知道方向是什么,也不可以停止寻找,靠自己双脚一步一步踏出脚印,解决问题。

人一定是你自己不断寻找出路,走了很多路,一直往上帕,最后别人看到你才给你搭把手,拉你出来,没有人有义务一下子救你出来

37.JSON.stringify() 丝状的   方法将某个对象转换成 JSON 字符串形式,普通对象的key是没双引号的,json字符串就有。就是把前端的js对象格式,转换成服务器可以接收的字符串格式的对象

前端传送服务器数据:前端js格式 --->服务器字符串对象

 38.JSON.parse()    //作语法分析

JSON 通常用于与服务端交换数据。

在接收服务器数据时一般是字符串。

我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象。就是接收服务器的字符串对象,转换成前端没有双引号的前端js对象格式

 JSON.parse()前端读取服务器数据:服务器字符串对象---->前端js对象

 href="javascript:void(0)"让一个超链接点击后不链接到任何地方,而鼠标移上去仍然显示手指形状的图标,就用javascript:void(0)。

39.git 下载:下载新的内容,先备份之前的东西,然后再删掉git.

 git clone ssh://git@datapp.gitlab.com:202/nbp3/web2.git  //下载

git branch -a  //查看所有节点

git checkout -b "develope"   //切换到develope节点下面

git pull

 git branch --set-upstream-to=origin/develope

这样说明成功:Administrator@DESKTOP-AE6N76D MINGW64 ~/Desktop/c/web2/web2/master (develope)

$ git pull

Already up to date.

再运行一下就可以了

 40.

  1. vue的类名必须要用-, 不能用驼峰
  2. 类型文件的引入要 import type ,多加个type

export interface tableColumType {}

export type HandleMenuClick = ({})

定义interface接口和type类型引入的时候才要加type,定义的是class 就不需要加type:export class DataSearchList {}

41.为什么啊,传值都一样,方法也一样,但是,我自己写的就是获取不到数据

这个代理IP的原因

 

 

GitHub 加速计划 / vu / vue
108
18
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
9e887079 [skip ci] 1 年前
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 1 年前
Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐