Vue课设知识点概览
5.30号,记录一下本次课设学到的一些知识点: vue无法检测到对象内部数据的变化,即便使用了deep:true标签,也只能检测到对象中第一层属性对应的值的变化,而对于对象内的对象,他就无法检测到他的变化了,只能通过this.$set(1,2,3)来改变对象的属性对应的值。数组则通过数组的四个方法来进行修改,不通过直接获取其index来改变。这样子才能被检测到改变。 如何使用iconpark(字节跳动的矢量图标库)首先现在vue中导入他的组件1234//vue2npm i @icon-park/vue//vue3npm i @icon-park/vue-next 通过上述导入整个组件后,再在每个使用的地方专门做引用。使用方法:在具体的组件内,导入你所需要的图标。123456789/** * 引入时使用驼峰式命名 * import {Alarm} from '@icon-park/vue'; * components: { Alarm } * * 使用时使用小写 *<alarm...
Vue 代理服务器配置新增建议
关于配置vue的代理服务器新增两点建议 普通的http或者https请求。满足在vue.config.js配置一个普通的代理然后在使用该代理时可以不用写全完整的uri。而只用写具体的访问地址如下12345678devServer:{ proxy:{ '/api/':{ target:'http://localhost:9090/', pathRewrite:{'^/api':""}, ws:false }} 通过axios向后端发送请求时1234567this.axios({ url:'/api/login', method:'get', params:{ username:this.username ...
使用Kotlin构建WebSocket服务器模板
记录一个使用kotlin写WebSocket的常用模板 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134package top.zfxt.chat.serviceimport cn.hutool.json.JSONArrayimport cn.hutool.json.JSONObjectimport cn.hutool.json.JSONUtilimport jakarta.websocket.*import...
Vue 父子组件参数传递:props
父组件向子组件传递参数时,可以使用props 1234567export default { props: ['foo'], created() { // props 会暴露到 `this` 上 console.log(this.foo) }} 除了直接使用字符串的形式,也可以使用对象的形式 123456export default { props: { title: String, likes: Number }}
Map和MutableMap:键值对集合
记一个关于Map的知识kotlin中有Map和MutableMap两种 Map是一个接口和通用的元素集合。 Map以键和值对的形式保存数据。 映射的键是唯一的,每个键只保留一个值。 键和值可以是不同类型。 也被分为可变的和不可变的,即Map与MutableMap. Map它是不可变的,它的大小固定,方法支持只读访问。要使用Map接口,需要使用mapOf()或mapOf <k,v>()函数声明。他的常用方法:getValue(key) 它返回给定键的值,如果映射中没有这样的键,则抛出异常。getOrDefault(key,defaultValue) 获取指定key值的value,没有值时返回默认值contains(key)、containsKey(key) 它检查在Map中是否包含给定的键。minus(key) 返回去除该 key-value的mapplus(pair) 向map中添加key - value但这些方法不能对原Map产生改变。需要改变的话需要使用 1map = map.plus(a to...
WebSocket:双向通信,弥补HTTP不足
WebSocket是一个在单TCP连接上进行全双工通信的协议。允许服务器主动向客户端推送消息。 WebSocket本质上一种计算机网络应用层的协议,用来弥补http协议在持久通信能力上的不足。 HTTP 协议有一个缺陷:通信只能由客户端发起,不具备服务器推送能力。所以进行双向通信时必须使用webSocket。 这种单向请求的特点,注定了如果服务器由连续的状态变化,客户端想要获知会非常麻烦。我们只能使用“轮询”:每隔一段时间,就像服务器发送要给请求。而轮询的效率非常的低。浪费资源。 轮询的危害:服务端被迫维持来自每个客户端的大量不同的连接大量的轮询请求会造成高开销,比如会带上多余的header,造成了无用的数据传输。 websocket是先通过HTTP协议完成第一次握手他们的握手过程 12345678GET /chat HTTP/1.1Host: server.example.comUpgrade: websocketConnection: UpgradeSec-WebSocket-Key:...
Shell脚本中的表达式和流程控制
表达式运算符$(())或者$[]都可以用来在内部写表达式,运算操作符。 判断语句[ condition ](condition前后要有空格)非空返回true判断字符串相等,用=。 12345678910111213141516if [ "ok" = "ok" ]then echo 'equal"elif [ 条件判断式 ]thenfi## case语句case $变量 in"变量1")执行命令;;"变量2")执行命令2;;esac for循环123456789101.for 变量 in 值1 值2 值3.。。do程序/代码done2.for(( 初始值;循环控制条件;变量变化))do程序/代码done while循环1234while [ 条件判断式 ]do 程序done 读取控制台输入read (选项)(参数)-p:指定读值时的提示符。-t:指定读取值时等待的秒数。如果一定时间内没输入,就退出。 12read -p "请输入一个数Num1="...
Shell脚本:命令解释和脚本编写
shell是一个命令解释器,用来向内核发送请求。通过写shell脚本,通过shell执行。(bashshell) 脚本格式#!/bin/bash开头脚本要有执行权限。或者使用sh来执行脚本,他可以不需要执行权限。sh hello.sh 定义变量A=100调用该变量时需要使用$ 1234567891011121314A=100echo A=$Aecho "A=$A"#这两个的输出结果是一样的。都是A=100#只有$A才会被解析#撤销变量unset A#声明静态变量#只会定义一次,不会被反复初始化。而且不能被unsetreadonly B=2#在shell中,等号两侧不允许又空格## 将命令的返回值返回出去A=`data` or A=$(data)#其中data是命令。 定义全局变量export。可以在/etc/profile中写入。然后通过source命令刷新。也可以部分权限。写入bashrc中也可以所谓全局变量,就是指变量在当前的整个 Shell 进程中都有效。每个 Shell 进程都有自己的作用域,彼此之间互不影响。在...
作用域链与变量声明
作用域及作用链 全局作用域; 函数作用域; 块级作用域; 全局作用域全局作用域的变量可以在程序任意位置访问到。 123456var greeting = 'Hello World!';function greet() { console.log(greeting);}// 打印 'Hello World!'greet(); 函数作用域函数作用域也叫局部作用域,如果一个变量是在函数内部声明的它就在一个函数作用域下面。这些变量只能在函数内部访问,不能在函数以外去访问。 块级作用域ES6引入了let和const关键字,和var关键字不同,在大括号中使用let和const声明的变量存在于块级作用域中.在大括号之外不能访问这些变量。 12345678910{ // 块级作用域中的变量 let greeting = 'Hello World!'; var lang = 'English'; console.log(greeting); // Prints...