Vue(九)http-proxy 跨域、插槽 slot

简介: Vue(九)http-proxy 跨域、插槽 slot

一、http-proxy跨域

       旧的跨域方式无论 CORS 还是 JSONP,都要求助于后端才能跨域,对于前端工程师来说都较为繁琐;而使用 vue 脚手架开发时,就可以用 http-proxy 跨域。


       http-proxy 跨域是一种纯前端跨域方式,请其他程序代替 ajax 发送请求。


使用方法:


(1)在脚手架根目录的 vue.config.js 文件中,再配置一个代理程序;


module.exports={
    ... ...
    devServer: {
      proxy: {
        '/': {
          target: `http://服务器端接口地址统一前缀部分`,
          changeOrigin: true,
        }
      }
    }

(2)配置代理程序后,main.js中 就不用再配置 axios.defautls.baseURL 了;


(3)重启 npm run serve。


小结(高频笔试面试):


       跨域方式共有3种:cors、jsonp、http 代理;


       前端工程师最常用的方式:http 代理;


       如果不用 ajax,还能怎么发请求:(1) jsonp 的 <script>;(2) Vue 脚手架的 http-proxy 代理方式跨域。


二、插槽(slot)

       在程序中有如多个提示框布局风格一致只是内部内容不同的情况,为了避免重复编写代码,就可以用到插槽。


       插槽就是组件中一块可动态改变 HTML 片段内容的区域,今后编程中如果有多个组件,拥有相同的结构框架,只是内部 HTML 片段有不同时就都应该使用插槽。


插槽的使用(以对话框举例来了解插槽的过程):点击按钮后页面分别弹出对应的对话框


image.png

image.png





1. 先定义一个组件包含统一的外壳结构


       新建一个外壳组件,将任意一个现有对话框代码整体复制到组件中,删除组件中将来可能发生变化的大片 HTML 片段位 置,并用标签占位组件中个别可能变化的文本,改为绑定语法,并在 props 成员中添加外来属性。

image.png



2. 再在每次使用组件时,动态改变组件中插槽 区域的HTML片段内容


       2.1 在原对话框中引入带插槽的外壳组件

import Waike from "./Waike"
export default {
 … …,
 components:{ Waike },
 … …
}

image.png


       2.2 在组件上添加外壳组件标签

image.png



       2.3 在外壳组件内添加,其中添加对话框独有内容

image.png



具名插槽:


       如果一个带插槽的外壳组件,将来有多个部位可能会改变,这个时候就用具名插槽。它可以将不同的 HTML 片段, 插入不同的插槽中。


       如果一个带插槽的外壳组件包含多个具名插槽,则使用时每个插槽对应的 HTML 片段,都要放在 <template v-slot:插槽名> 中,可简写为 <template #插槽名>。

image.png

image.png



相关文章
|
7月前
|
JavaScript
如何让Vue项目本地运行的时候,同时支持http://localhost和http://192.168.X.X访问?
如何让Vue项目本地运行的时候,同时支持http://localhost和http://192.168.X.X访问?
|
3月前
|
前端开发 JavaScript
node反向代理,解决跨域(http-proxy-middleware)
使用node.js和http-proxy-middleware库实现反向代理,解决跨域问题,允许前端请求通过代理访问不同端口的服务。
137 3
|
JSON 前端开发 API
【跨域报错解决方案】Access to XMLHttpRequest at ‘http://xxx.com/xxx‘ from origin ‘null‘ has been blocked by
【跨域报错解决方案】Access to XMLHttpRequest at ‘http://xxx.com/xxx‘ from origin ‘null‘ has been blocked by
3547 0
|
4月前
|
负载均衡 Java API
深度解析SpringCloud微服务跨域联动:RestTemplate如何驾驭HTTP请求,打造无缝远程通信桥梁
【8月更文挑战第3天】踏入Spring Cloud的微服务世界,服务间的通信至关重要。RestTemplate作为Spring框架的同步客户端工具,以其简便性成为HTTP通信的首选。本文将介绍如何在Spring Cloud环境中运用RestTemplate实现跨服务调用,从配置到实战代码,再到注意事项如错误处理、服务发现与负载均衡策略,帮助你构建高效稳定的微服务系统。
105 2
|
5月前
|
XML 前端开发 JavaScript
JavaEE:http请求 | 过滤器 | 同步与异步请求 | 跨域问题 | axios框架 有这一篇就够!
JavaEE:http请求 | 过滤器 | 同步与异步请求 | 跨域问题 | axios框架 有这一篇就够!
|
JavaScript 前端开发 API
Vue报错:sockjs.js?9be2:1627 GET http://192.168.43.88:8080/sockjs-node/info?t=1631603986586 net::ERR_CO
Vue报错:sockjs.js?9be2:1627 GET http://192.168.43.88:8080/sockjs-node/info?t=1631603986586 net::ERR_CO
|
JavaScript
http://eslint.org/docs/rules/no-trailing-spaces Trailing spaces not allowed vue运行时报错
http://eslint.org/docs/rules/no-trailing-spaces Trailing spaces not allowed vue运行时报错
114 0
|
JavaScript
Vue项目启动报错-http://eslint.org/
Vue项目启动报错-http://eslint.org/
73 0
|
JavaScript
element-ui(vue)upload组件的http-request方法的使用
element-ui(vue)upload组件的http-request方法的使用
423 0
|
开发框架 JSON 前端开发
前端工程化组件化开发框架之Vue的HTTP请求的axios
Vue.js是一个流行的前端工程化组件化开发框架,其生态中提供了丰富的工具和插件,其中就包括了axios。
190 2