【学Vue就跟玩一样】如何正确快速使用Vue中的插槽和配置代理

news2024/12/25 1:04:15

一,插槽

1.什么是插槽

让父组件可以向子组件指定位置插入html结构,也是一种组件间通信的方式,适用于父组件——>子组件。插槽分为三种,分别是默认插槽具名插槽作用域插槽,下面分别列出了如何使用这三种插槽

1.1默认插槽

啥是默认插槽呢?其实默认插槽相当于你买了一新房子,然后各个房间都已经装饰好了,但是你还有一间屋子还没装修,因为你暂时不知道里面要装一套电竞设备还是弄一书柜,所以先在那屋留好地方,这时候你来到了商场,看到一心仪的书柜,然后就跟销售人员说,这个我买了,之后就把这个书柜放到了那个空出来的屋子里,插槽也是如此,子组件好比空屋子,父组件好比心仪书柜(记住<子组件内定义插槽父组件内写好数据>即可

子组件内定义一个插槽

<template>
  <div class="category">
    <h3>{{title}}</h3>
    <!-- 定义一个插槽(等待组件的使用者进行填充) -->
    <slot>我是默认插槽,在没有传结构式我才会显示该片段文字</slot>
  </div>
</template>

父组件内填充数据

 <Category title="美食">
      <img slot src="./assets/logo.png" alt>
 </Category>

1.2具名插槽

简单来说在子组件内具名插槽比默认的插槽多了一个name属性,在父组件内多了这样一行代码 slot = "具名插槽名",具名插槽能更好的控制所要放置数据的位置

父组件使用center和footer插槽

      <Category title="游戏">
          <ul slot="center">// 使用center具名插槽
            <li v-for="(g,index) in games" :key="index">{{g}}</li>
          </ul>
          <div class="foot" slot="footer">// 使用footer具名插槽
            <a href="javascript:;">植物大战讲师</a>
            <a href="javascript:;">冰火人闯森林</a>
          </div>
      </Category>

子组件内定义conter和footer具名插槽

 <template>
      <div class="category">
        <h3>{{title}}</h3>
        <!-- 具名插槽 -->
        <slot name = "center">我是具名插槽center</slot>
        <slot name = "footer">我是具名插槽footer</slot>
        <img src="" alt="">
      </div>
 </template>

1.3作用域插槽

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

父组件

    <Category title="游戏">
      <template slot-scope="{games}">
        <h4>
          <li v-for="(g,index) in games" :key="index">{{g}}</li>
        </h4>
      </template>
    </Category>

子组件

<template>
  <div class="category">
    <h3>{{title}}</h3>
    <slot :games="games">我是作用域插槽,在没有传结构式我才会显示该片段文字</slot>
  </div>
</template>
<script>
export default {
  name: "Category",
  props: ["title"],
  data() {
    return {
      games: ["红警", "绿警", "蓝警", "紫警"]
    };
  }
};
</script>

二,配置代理

方式1:在vue.config.js中添加如下配置

    devServer:{

        proxy: "http://localhost:5000"

    }

注意:

优点:配置简单直接发请求给8080端口即可

缺点:不能配置多个代理且不灵活(若自己有资源,但是需要请求非前端资源,只能走自己已有的资源)

代理流程:发送请求👉开启代理👉如果前端有资源那么拿来就用,如果没有去请求资源

方式2:在vue.config.js中添加如下配置

  devServer: {
    proxy: {
      '/shanyu': {// 匹配所有以'shanyu'开头的请求路径
        target: 'http://localhost:5000',// 代理目标的基础路径
        pathRewrite: {
            '^/shanyu': '' // 将所有的前缀替换为空串再去服务器内擦护照该路径
             // ws和changeOrigin默认都为true
            // ws: true, // 用于支持websocket
               // changeOrigin: true // 用于控制请求头host的值
        },
          //changeOrigin设置为true时,服务器收到的请求头中的host为: localhost: 5000
        //changeOrigin设置为false时,服务器收到的请求头中的host为: localhost :8080
      }

changeOrigin一般都设置为false,因为服务器无论是否设置了某些不能请求其他端口的请求时,changeOrigin它也可以将自己变成所请求资源的服务器的相同用端口(简单来说就是,changeOrigin设置为false时,向哪台服务器发起请求,呈现的就是那台服务器的端口号)

点赞:您的赞赏是我前进的动力! 👍
收藏:您的支持我是创作的源泉! ⭐
评论:您的建议是我改进的良药! ✍
JavaScript专栏: 小嘎鱼学JS
Vue专栏: 小嘎鱼学Vue
山鱼的个人社区:欢迎大家加入我的个人社区—— 山鱼社区

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/183544.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java:基于注解的Spring使用【AOP容器】

目录 第十五章 AOP前奏15.1 代理模式15.2 为什么需要代理【程序中】15.3 手动实现动态代理环境搭建15.4 手动实现动态代理关键步骤第十六章 Spring中AOP【重点】16.1 AspectJ框架【AOP框架】16.2 使用AspectJ步骤&#xff08;入门&#xff09;16.3 Spring中AOP概述16.4 Spring中…

帮助粉丝用青泥学术大数据推荐毕业论文选题(围绕 教育信息化2.0、疫情期间线上学习质量问题、Steam教育、智慧教育等突破点来抉择)

需求 本科论文水平&#xff0c;青泥学术可以起到一定帮助。 说明 我也只是读了一个学期的硕士而已&#xff0c;谈不上多高的指点&#xff0c;可能比一些人更努力一些。 所以我的学术造诣不算太高&#xff0c;不敢盲目建议。 但是君子性非异也&#xff0c;善假于物也。 我借…

软件版本的命名规则

最近在完善实验室项目的软件设计&#xff0c;涉及功能的完善和 Bug 的修复&#xff0c;为了方便管理&#xff0c;更新软件版本号是不错的方法&#xff0c;故总结了下软件版本的命名规范。 软件版本号一般由四部分组成&#xff0c;格式如&#xff1a;主版本号.子版本号.修订版本…

3、数据的录入与保存

目录 一、定义变量 1.定义变量名 2.定义变量类型 3.宽度定义 4.小数位数定义 5.变量标签定义 6.变量值标签的定义 7.缺失值的定义 8.列的定义 9.对齐的定义 10.测量的定义 11.变量角色的定义 二、数据录入 三、数据保存 四、案例录入 本文内容之前简单介绍过&am…

Codeforces Round #847 (Div. 3) A-F 冲蓝名场

想上蓝名&#xff0c;赛前1414分&#xff0c;目标蓝名。 updateupdateupdate赛后排名575757。 A. Polycarp and the Day of Pi 题意 给你一个数字判断该数字是否和圆周率的前30位匹配。 思路 发现样例有一个长度为30为的数&#xff0c;ctrlcvctrl c vctrlcv一下&#xff0c;暴…

Elasticsearc最新版8.6.1集群安装教程

一、为何要搭建 Elasticsearch 集群凡事都要讲究个为什么。在搭建集群之前&#xff0c;我们首先先问一句&#xff0c;为什么我们需要搭建集群&#xff1f;它有什么优势呢&#xff1f;&#xff08;1&#xff09;高可用性 Elasticsearch 作为一个搜索引擎&#xff0c;我们对它的基…

微信小程序——用户安全等级

有小伙伴私信说有没有微信小程序相关系列文章&#xff0c;后续会持续输出有关微信小程序相关文档接口 前言 前面几篇我们讲到了微信的文本内容、音视频、图片等内容的安全识别问题&#xff0c;这样会涉及到一个用户的安全等级的判定问题&#xff0c;怎么来识别预判用户的等级…

管理事实(RH294)

事实简介Ansible事实是指Ansible在受管主机上自动检测到的变量事实中含有与主机相关的信息&#xff0c;可以像play中的常规变量&#xff0c;条件&#xff0c;循环等其他语句那样使用受管主机收集的事实有以下部分主机名称内核版本网络接口IP地址操作系统版本环境变量CPU数量可用…

Nacos安装配置教程

Nacos安装配置教程_其他_大数据知识库 Nacos注册中心 Nacos是阿里巴巴的产品&#xff0c;现在是SpringCloud中的一个组件。相比Eureka功能更加丰富&#xff0c;在国内受欢迎程度较高。 官方入门手册 Nacos 快速开始这个快速开始手册是帮忙您快速在您的电脑上&#xff0c;下载…

Python:使用Selenium和requests爬取文章

01需求描述 在微信公众号上面&#xff0c;其实有很多很不错的文章&#xff0c;但是微信官方给我提供的方式只有几种&#xff1a;点赞、收藏、在看。 或者有时候&#xff0c;有人通过转发到自己的朋友圈的方式&#xff0c;做文章的留存。 因此&#xff0c;爬取与存储微信公众…

PHPCMSv9.6.0前端任意文件上传漏洞分析

一、路径 漏洞分析&#xff1a;/index.php?mmember&cindex&aregister&siteid1 前台注册页面处 路径&#xff1a; /phpcms/modules/member/index.php注册处抓包&#xff1a; POST /phpcms/install_package/index.php?mmember&cindex&aregister&site…

JVM是如何解决跨代引用问题的?

本文已收录至Github&#xff0c;推荐阅读 &#x1f449; Java随想录 不知道自己的无知&#xff0c;乃是双倍的无知。——柏拉图 文章目录跨代引用问题记忆集卡表写屏障写屏障的伪共享问题跨代引用问题 跨代引用是指新生代中存在对老年代对象的引用&#xff0c;或者老年代中存在…

TensorFlow笔记之卷积神经网络

文章目录前言一、卷积神经网络CNN二、Tensorflow1.x1.加载数据集2.数据处理3.定义模型4.训练模型5.结果可视化二、Tensorflow2.x1.加载数据集2.数据处理3.定义模型4.训练模型5.结果可视化总结前言 记录在tf1.x与tf2.x中使用卷积神经网络完成CIFAR-10数据集识别多分类任务&…

【ThreeJs 初学习】实现简单的场景渲染

简单的场景渲染 从今天开始进军 3D相关的技术。第一是因为项目需要&#xff0c;第二是因为年中的KPI目标。刚开始分享的内容会相对基础&#xff0c;望各位谅解。 根据官网的文档整理出一份API文档, 地址是&#xff1a;ThreeJs 官网文档&#xff0c;其目的还是为了方便查阅 1. …

移动应用测试流程

以下是这段时间测试手机app的流程总结。 从需求阶段开始介入。参加软件功能设计&#xff0c;在软件编码之前&#xff0c;在仍有可能大的设计变更的时候&#xff0c;积极参加软件的计划阶段&#xff0c;这会帮助我们了解正被考虑的折衷和权衡从而了解客户需要的产品的雏形。在此…

Docker部署oracle -11g

Docker部署oracle -11g 拉取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g启动容器 docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g执行 docker ps 命令确认容器启动成功 进行配置 &#xf…

蓝桥杯 分巧克力

题目描述 儿童节那天有 K 位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有 NN 块巧克力&#xff0c;其中第 ii 块是 H_i \times WiHi​Wi 的方格组成的长方形。为了公平起见&#xff0c; 小明需要从这 NN 块巧克力中切出 K 块巧克力分给小朋友们。切…

读书笔记:神经网络的学习 train_neuralnet.py ← 斋藤康毅

提醒&#xff1a;本例涉及到三个 Python 文件&#xff0c;即 two_layer_net.py&#xff0c;train_neuralnet.py&#xff0c;mnist.py 等。 显然&#xff0c;要进行神经网络的学习&#xff0c;必须先构建神经网络。 因此&#xff0c;本文先构建了一个2层神经网络。代码详见 two_…

玩转代码|解决Chrome浏览器内置谷歌翻译功能无法使用问题!

最近这几天在使用Chrome浏览器的内置谷歌翻译功能时&#xff0c;总是一直停留在不翻译的状态&#xff0c;一开始我还以为是网络波动过几天就好了&#xff0c;过了好几天依旧是这样。去看了新闻才知道谷歌翻译已经退出了中国市场。根据TechCrunch的消息称&#xff0c;谷歌发言人…

我本芬芳

我本芬芳推荐语&#xff1a; 读完前几章&#xff0c;一边为惠才遇人不淑感到遗憾&#xff0c;又不觉想起自己的童年种种&#xff0c;书中简单的三言两语&#xff0c;却又不断地在触动我。我不由得想到上世纪六七十年代的女子们&#xff0c;也就是我的奶奶外婆们&#xff0c;将自…