- 博客(37)
- 收藏
- 关注
原创 从0到1学习typescript(更新版)
首先要明确一个概念,ts中确定了类型之后,就不能再修改类型// 根据初始赋值来推导出变量的类型,以后的str的类型就是字符串// str = 2;// 报错,原因:变量在定义的时候,类型已经确定下来了,不能修改a = 1;a = '1';// 报错,原因:变量在定义的时候,类型已经确定下来了,不能修改let b:10;// 相当于b是常量了b = '1';// 报错,常量不能被修改// 类型为1,常量不能被修改,所以它的值就是它的类型// 类型为2// 类型为'123'
2024-04-22 09:13:18 176 1
原创 vue2跟vue3生命函数 watch computed
可选值有:"pre"(立即更新DOM)、"post"(延迟到队列中的所有回调函数执行完毕后再更新DOM)和"sync"(在变更时同步应用更改)。相当于将watch的依赖源和回调函数合并,当任何你有用到的响应式依赖更新时,该回调函数便会重新执行。watchEffect 是 Vue3 中的一个响应式 API,允许你监听响应式状态的变化,并在其发生变化时触发作用函数。watch函数内部使用响应式用来追踪依赖关系,只有在回调函数中使用的响应式数据发生变化,才会执行回调函数。onStop:当停止观察时执行的函数。
2024-04-18 15:45:03 316
原创 css第一个元素first-child匹配失败原因
匹配不到任何元素,因为在这里两个span都不是div的第一个子元素。匹配不到任何元素,因为在这里h1是div的第二个元素,不是第一个。匹配的是p元素,因为p元素是div的第一个子元素。匹配的是p元素,因为p元素是div的第一个子元素。
2024-03-20 10:13:22 345
原创 vue2.x和vue3.x多种通信方式
</div>provide('flag', true) // 传递的是 普通的值 非响应式的值</script>。◕‿◕。 后代组件<template><div>
2024-03-11 15:41:12 612
原创 uniapp项目在开发者工具运行-记录
2,找到基础配置,查看其中的uni-app的appid是不是没填,没有填写的话点击后面的获取,自动获取填上即可。3,找到小程序运行配置,填写自己的微信开发者工具所在路径(不知道可以右键点击打开文件所在位置)H5(网页端)会按照当前页面的 url 构建完整的请求 url,所以可以请求成功,小程序不行。找到微信开发者工具的设置-》通用设置-》安全,然后将服务端口打开即可正常使用了。在HBuilder X工具栏-》运行-》运行到小程序模拟器-》微信开发者工具。2,点击工具,然后点击运行配置。
2024-02-28 18:14:03 180
原创 记录vue3运行项目
node 版本应不小于 16 ,pnpm 版本应不小于 6,如果您还没安装 pnpm,请执行下面命令进行安装。如果你的项目有vue2和vue3的,建议下载一个node版本管理器nvm,详情请看下面的文章。如果更新依赖报错,尝试更新一下淘宝源。
2024-02-27 11:48:53 148
原创 nginx配置
cmd 进入nginx文件夹 输入命令行:nginx -s reload。cmd 进入nginx文件夹 输入命令行:start nginx。输入http:localhost:80显示以下表示启动成功。或者双击nginx.exe。将项目放到html文件夹下。
2024-02-20 15:12:52 162
原创 vue中点击事件修饰符的作用
不要把 .passive 和 .prevent一起使用,因为 .prevent 将会被忽略,同时浏览器可能会向你展示一个警告。请记住,passive 会告诉浏览器你不想阻止事件的默认行为。给组件绑定原生事件,使用封装组件的时候,原生事件可能会失效,可以用native。即事件既不是从内部也不是从外部触发,只有自身触发才执行处理函数。元素自身触发的事件先在此处理,然后才交由内部元素进行处理。这个.passive 修饰符尤其能够提升移动端的性能。点击事件将只会触发一次。
2023-11-15 11:26:22 59
原创 解决跨域的9种办法
通过在请求的 url 后指定一个回调函数,然后服务器在返回数据的时候,构建一个 json 数据的包装,这个包装就是回调函数,然后返回给前端,前端接收到数据后,因为请求的是脚本文件,所以会直接执行,这样我们先前定义好的回调函数就可以被调用,从而实现了跨域请求的处理。(3)使用 window.name 的方法,主要是基于同一个窗口中设置了 window.name 后不同源的页面也可以访问,所以不同源的子页面可以首先在 window.name 中写入数据,然后跳转到一个和父级同源的页面。
2023-09-06 14:34:31 146 1
原创 XSS和CSRF的攻击-学习记录
攻击者通过在受信任的网页中插入恶意脚本,使其在用户的浏览器中执行。攻击者可以利用XSS攻击来盗取用户的身份信息、篡改网页内容、劫持用户会话或进行其他恶意活动。通俗点说就是,不需要用户做任何的登录认证,过合法的操作(比如在url中输入、在评论框中输入),向你的页面注入脚本(可能是js、hmtl代码块等),然后让被害者点击。
2023-09-01 10:56:24 87 1
原创 node.js 核心模块(fs)
参数1 必选参数 需要指定一个文件路径的字符串 表示文件的存放路径。参数3 可选参数 表示以什么格式 写入文件内容 默认值是utf8。fs.writeFile()方法:用来向指定的文件中写入内容。参数3: 必选参数 文件读取完后 通过回调函数拿到读取的结果。fs.readFile()方法:用来读取指定文件中的内容。参数2:可选参数 表示以什么编码格式来读取文件。参数4 必选参数 文件写入完成后的回调函数。参数1:必选参数 字符串 表示文件的路径。参数2 必选参数 表示要写入的内容。
2023-08-25 15:29:59 37 1
原创 vue实现复制文本剪贴板
原理:浏览器本身提供了一个copy命令,利用它可以复制选中的内容:如果是输入框,我们可以利用select()方法来选中输入框中的内容,然后调用copy命令,将文本复制到剪切板,但是select()方法只对<input>和<textarea>有效,对于其他标签就不太好使了。在纯html当中通过getElementById api获取dom元素是没有问题的,但在vue中这样获取dom元素会导致复制失效,使用this.$refs也一样会失效。
2023-08-23 14:09:37 92
原创 window.location获取url各项参数详解
window对象是BOM的核心,window对象指当前的浏览器窗口window.location方法后还还可以带href,search等参数URL即:统一资源定位符 (Uniform Resource Locator,URL)完整的URL由这几个部分构成:scheme://host:port/path?query#fragmentscheme:通信协议常用的http,ftp,maito等location对象 含有当前URL的信息, 属性 href 整个URL字符串protocol 含有URL第一部
2023-08-23 11:27:04 819
原创 关于echart方法的一些打开方式
相信很多小伙伴在使用echart的时候,有时候数据需要更新,图表需要加载绘制,又或者视图改变需要重新绘制,下面总结了一些方法echart的常用方法。
2023-08-17 11:33:38 109 1
原创 Vue组件通信-分类
父向子传递数据是通过 props,子向父是通过 events($emit)通过父链 / 子链也可以通信($parent / $children)ref 也可以访问组件实例;
2023-04-15 16:51:49 31
原创 Element-plus 引入路径问题
第一次使用element-plus,以下是下载的版本"element-plus": "^1.1.0-beta.3"根据官方文档,import 'element-plus/lib/theme-chalk/index.css';但是出现了问题,原来是因为版本原因,就是路径问题,改一改就好了,还一直重新下载好几次,以为是下载不全,哭笑不得用import"element-plus/theme-chalk/index.css";就没问题啦...
2021-08-25 14:44:15 950
原创 如何在Vue3中使用Vue.prototype
前端菜鸟最近在开发新的项目,准备用Vue3,遇到了一些问题,整理下话不多说,直接上代码。import{createApp}from"vue";importAppfrom"./App.vue";importrouterfrom"./router";importstorefrom"./store";importqsfrom"qs";constapp=createApp(App);app.use(store);app.use(router...
2021-08-25 14:40:00 9540 6
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人