vue2-代理服务器插槽

ops/2024/11/24 7:11:20/
解决跨域问题
配置代理服务器

代理服务器位于前端应用(客户端)和真实的后端服务器之间。当配置了代理服务器后,前端应用的请求不再直接发送到后端服务器,而是发送到代理服务器。代理服务器在接收到请求后,会根据预先配置的规则将请求转发到真正的后端服务器。例如,在 Vue 项目的开发服务器配置中,如果前端应用的请求路径是以/api开头,代理服务器可以将这个请求转发到http://backend - server - address对应的后端服务器上

cli文档

  1. 方式一:只能配置一个代理,不能灵活配置走不走代理

    优点:配置简单,请求资源时直接发给前端(8080)即可。

    缺点:不能配置多个代理,不能灵活的控制请求是否走代理。

    工作方式:若按照上述配置代理,当请求了前端不存在的资源时,那么该请求会转发给服务器 (优先匹配前端资源)

    // vue.config.js
    const { defineConfig } = require('@vue/cli-service')
    module.exports = defineConfig({transpileDependencies: true,// 开启代理服务器devServer:{// 开启8888端口的代理proxy:"http://localhost:8888"}
    })
  2. 方式二:可以配置多个代理,可以灵活配置走不走代理

    优点:可以配置多个代理,且可以灵活的控制请求是否走代理。

    缺点:配置略微繁琐,请求资源时必须加前缀。

    const { defineConfig } = require('@vue/cli-service')
    module.exports = defineConfig({transpileDependencies: true,devServer:{proxy:{// 如果请求的前缀带api,则触发该代理转发,否则不触发代理转发// http://localhost:8888/前缀/xxxxxxx"/api":{// 转发的服务器target:"http://localhost:5001",// 是否重写路径 {"正则规则":""} ,如果不写 默认以带前缀的url进行请求,http://localhost:5001/前缀/xxxxxxx// 使用正则把前缀替换为空,则请求URL 不带前缀 ,http://localhost:5001/xxxxxxxpathRewrite:{"^/api":""},ws:true, // 用于支持websocketchangeOrigin:true // 用于控制请求头中的host值 是转发服务器地址还是真实服务器地址}}}
    })
插槽

让父组件可以向子组件指定位置插入html结构,也是一种组件间通信的方式,适用于 父组件 ===> 子组件

默认插槽

默认插槽一个组件如果有多个,有多少个插槽,数据会重复多少份(插槽数*插槽数的数量的重复)

<!-- Category组件(子组件)-->
<template><div class="box"><h1>{{ title }}</h1><ul><li v-for="(data,index) of dataList" :key="index">{{ data }}</li></ul><!-- 定义一个插槽 --><slot></slot></div>
</template>
<!-- App组件(父组件) --><Category title="1" :dataList="[1,2,3]"><!-- 在组件标签内写对应内容,会显示在子元素slot插槽定义的地方--><!-- 如果要给插槽的代码设置样式,设置父组件内--><h2>哈哈哈哈</h2></Category>
具名插槽

一个组件可以有多个具名插槽,会根据名字插入代码

  1. 子组件
<!-- 子组件定义一个插槽,名字是h1Text --><slot name="h1Text"></slot>
  1. 父组件使用slot
<!-- 父组件在指定名字插槽插入代码--><Category title="1" :dataList="[1,2,3]"><!--在name= h1Text的插槽里面插入代码--><!-- 如果插槽名字是表达式or变量--><h2 slot="h1Text">哈哈哈哈</h2></Category>
  1. 父组件使用v-slot
<!-- v-slot指定插槽,只能在 template 标签使用-->
<Category title="1" :dataList="[1,2,3]"><template v-slot:h1Tet><h2 slot="h1Text">哈哈哈哈</h2></template>
</Category>
作用域插槽

数据在组件的自身,但根据数据生成的结构需要组件的使用者来决定。(数据在子组件中,但使用数据所遍历出来的结构由父组件决定)

  1. 子组件
<script>
export default {// eslint-disable-next-line vue/multi-word-component-namesname: "Category",data() {// 定义了一个dataList数组return {"infoList": [1, 2, 3, 4, 5]}}}
</script><template><div class="box"><!--   定义插槽,将dataList传递给插槽的使用者 --><slot v-bind:infoList="infoList" name="context"></slot></div>
</template>
  1. 父组件
<template><div class="container"><Category><!--      作用域插槽必须使用template标签 --><!--    vue2.6废弃了slot-scope  --><!--    vue2.5废弃了scope  --><!--       v-scope --><!-- vue2.6以上使用v-slot:插槽名字="要使用的数据" --><template v-slot:context="infoList"><!--  这里收到的数据是一个对象 {infoList:[xxxxxxx]}--><ul><li v-for="(info,index) of infoList.infoList" :key="index">{{ info }}</li></ul></template></Category></div>
</template>

http://www.ppmy.cn/ops/136251.html

相关文章

极限失控的大模型使电力系统面临的跨域攻击风险及应对措施

目录&#xff1a; 0 引言 1 就大模型发生极限失控的风险进行讨论的必要性、紧迫性 1.1 预训练的数据来源 1.2 能力涌现与不可解释性 1.3 大模型与物质世界的连接 1.4 数量效应与失控 1.5 大模型发生极限失控的风险 1.5.1 人工智能反叛所需要素能力的拼图 1.5.2 火种源…

二进制 分析工具:Radare2、r2frida、Binutils、file、string、as、nm、ldd、objdump、readelf、strip

1、二进制 分析工具 工欲善其事&#xff0c;必先利其器&#xff0c;在二进制安全的学习中&#xff0c;​使用工具尤为重要。遇到一个不熟悉的文件时&#xff0c; 首先要确定 "这是什么类型的文件"&#xff0c;回答这个问题的首要原则是&#xff0c;绝不要根据文件的扩…

鸿蒙学习高效开发与测试-测试工具(5)

文章目录 1、单元测试2、集成测试1. UI 测试框架2. DevEco Testing 测试平台2.1 稳定性测试2.2 场景化性能测试2.3 回归测试2.4 基础质量测试服务3. 命令行测试工具3.1 DevEco Testing SmartPerf3.2 DevEco Testing wukong3、专项测试1. 应用与服务体检2. 专项测试云测平台鸿蒙…

如果接口返回值图片有很长一串码,需要添加前缀

需要在前面添加前缀&#xff1a;data:image/jpeg;base64,然后将值赋值给<img :src"originalImage" /> this.tableLists.map((item)>{item.originalImage "data:image/jpeg;base64,"item.originalImage})以上方法会导致出现一个小bug&#xff0c;…

【优先算法】专题——双指针

1.移动零 移动零 题目描述&#xff1a; 思路&#xff1a; 本题我们把数组分块&#xff0c;将非零元素移动到左边&#xff0c;为零元素移动右边。 我们使用双指针算法&#xff08;利用数组下标来充当指针&#xff09; 两个指针的作用&#xff1a; cur&#xff1a;从左往右…

SpringBoot社团管理:用户体验优化

3系统分析 3.1可行性分析 通过对本社团管理系统实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本社团管理系统采用SSM框架&#xff0c;JAVA作为开发语言&#…

Python的tkinter如何把日志弄进文本框(Text)

当我们用python的Tkinter包给程序设计界面时&#xff0c;在有些时候&#xff0c;我们是希望程序的日志显示在界面上的&#xff0c;因为用户也需要知道程序目前运行到哪一步了&#xff0c;以及程序当前的运行状态是否良好。python的通过print函数打印出来的日志通常显示在后台&a…

SpringMVC应用专栏介绍

专栏导读 在当今快速发展的互联网时代&#xff0c;SpringMVC作为Java开发中的核心框架之一&#xff0c;已经成为构建企业级Web应用的首选技术。本“SpringMVC应用”专栏旨在为读者提供一个全面深入的学习平台&#xff0c;帮助读者掌握SpringMVC的精髓&#xff0c;提升Web开发能…