305 1 分钟

# 1、报错 -bash: wget: command not found 可以重装 wget 工具: 卸载 wget 工具 yum remove wget下载 wget 工具 yum -y install wget 最后尝试 wget “url” 又 OK 了,一般是原来的 wget 初始化有文件损坏造成的。 如果还是不能执行 wget url 命令,依旧报错 -bash: wget: command not found,就执行如下命令: 1)卸载 wget 工具 yum remove wget2)清除 yum 缓存: rm -rf /var/cache/yum/*3)清除所有...
4.9k 4 分钟

在前段时间的一次面试中,被问到了一个如标题这样的问题。要想好好地去回答这个问题,这里牵扯到的知识点也是比较多的。

那么接下来这篇文章我们就一点一点开始引出这个问题。

# 同源策略

在浏览器中,内容是很开放的,任何资源都可以接入其中,如 JavaScript 文件、图片、音频、视频等资源,甚至可以下载其他站点的可执行文件。

但也不是说浏览器就是完全自由的,如果不加以控制,就会出现一些不可控的局面,例如会出现一些安全问题,如:

  • 跨站脚本攻击(XSS)
  • SQL 注入攻击
  • OS 命令注入攻击
  • HTTP 首部注入攻击
  • 跨站点请求伪造(CSRF)
  • 等等......

如果这些都没有限制的话,对于我们用户而言,是相对危险的,因此需要一些安全策略来保障我们的隐私和数据安全。

这就引出了最基础、最核心的安全策略:同源策略。

4.9k 4 分钟

Vue.Draggable 是一款基于 Sortable.js 拖拽插件

# 一、特点

  1. 完全支持 Sortable.js 的功能支持触摸设备支持拖拽和选择文本智能自动滚动支持在不同列表之间拖拽没有 JQuery 依赖项
  2. 与视图模型同步刷新
  3. 与 Vue2 动画兼容
  4. 支持撤销操作
  5. 当需要完全控制时,可抛出所有的变化事件
  6. 与现有的 UI 组件兼容(比如 vuetify、element、vue material 等)

7.1k 6 分钟

# 一、父传子

思路:父组件通过冒号:绑定变量,然后子组件用 const props = defineProps({}) 进行接收参数。

父组件代码: 在第二行那里 :name="name" 把那么传给子组件

<template>
  <child :name="name"></child>
</template>
<script setup>
import { ref } from 'vue'
import child from './child.vue'
const name = ref('天天鸭')
</script>

子组件代码: const props = defineProps({}) 接收后直接在标签使用

<template>
  <div></div>
</template>
<script setup>
import { defineProps } from 'vue'
const props = defineProps({
  name: {
    type: String,
    default: '',
  },
})
</script>

2.6k 2 分钟

在 Vue 3 中,监听 sessionStorage 的变化可以通过几种方式实现,但值得注意的是,原生 sessionStorage 事件并不直接支持变化监听。这意味着你不能直接像监听 window.localStorage 那样使用 storage 事件来监听 sessionStorage 的变化。不过,你可以通过轮询(polling)或者使用 Proxy 对象来间接实现监听。 # 方法 1:使用轮询(Polling) 轮询是一种简单的方法,通过定期检查 sessionStorage 的内容是否发生变化来实现。 &lt;script setup>import...
259 1 分钟

# 人是如何慢慢废掉的 一晚上不睡,白天不起,身体弱,皮肤差,废掉的是你的身体 厌弃交际绷着脸,怪别人对自己不好,废掉的是你的交际 埋头苦干,沉迷于穷忙,机械性的重复工作,工时长,效率低,不思考,不总结,废掉的是你的进取心 瘫在舒适区,沉迷于熟悉的环境和事物当中放弃遇见新的自己,废掉的是你的可能性 打游戏,买醉去静不下心来,废掉的是你的成长 定了一大堆的计划,满腔热血第二天全忘记了,继续油腻的人生 # 如何培养沉稳的气质 不要随意显露你的情绪 不要逢人就抱怨 征求意见之前自己先思考,但不要先讲 不要一有机会就宣泄你的不满 学会讲话,不要紧张