当前位置: 首页 > news >正文

vue组件,父子通信,路由,异步请求后台接口,跨域

1.组件注册

1.1局部注册

局部注册组件---1.导入import 组件对象名 from '@组件网页路径' 

export default{
                                 name:"名称",
                                 data(){return {}},
                                 created(){},
                                 methods:{},
                                 components:{
                                    组件名:组件对象名
                                 }
                   }

1.2全局注册

 main.js        导入组件import 组件对象名 from '@组件网页路径'
                      Vue.component("组件名",组件对象名) 

2.vue父子通信

2.1父向子通信

父组件通过props将数据传递给子组件

父向子传值步骤

1. 给子组件以添加属性的方式传值

2. 子组件内部通过props接收

3. 模板中直接使用 props接收的值

 2.2子向父通信

子组件利用 $emit 通知父组件,进行修改更新

子向父传值步骤

1. $emit触发事件,给父组件发送消息通知

2. 父组件监听$emit触发的事件

3. 提供处理函数,在函数的性参中获取传过来的参数

3.路由

最大的原因就是:页面按需更新

要按需更新,首先就需要明确:访问路径组件的对应关系!

访问路径 和 组件的对应关系如何确定呢? 路由

Vue中的路由:路径和组件的映射关系

3.1路由实现

1.声明式路由

<router-link to="/login>首页</router-link>

index.js里面注册

{path:'/login',name:'login',component:()=>import('../views/login.vue')
},

2.编码式路由

<el-button type="primary" @click="info">用户</el-button>
info(){this.$router.push("/info")
}
{path:'/info',name:'info',component:()=>import('../views/info.vue')
},

错误

NavigationDuplicated: Avoided redundant navigation to current location: "/register".

/router/index.js 添加

//获取原型对象上的push函数
const originalPush = VueRouter.prototype.push
//修改原型对象中的push方法
VueRouter.prototype.push = function push(location) {return originalPush.call(this, location).catch(err => err)
}

3.2路由传参

1.声明式

1.1查询参数传参

<router-link to="/路由路径?参数名=值&参数名=值">

对应的组件接受查询参数。

this.$route.query.参数名

<router-link to="/login?name=张三&age=15">首页</router-link>
export default {name: "login",created() {var name1=this.$route.query.name;var age1=this.$route.query.age;console.log(name1+"....."+age1)}
}

1.2动态路由传参

  1. 配置动态路由:path: "/path/:参数名"

  2. 跳转:to="/path/参数值"

  3. 获取:this.$route.params.参数名

注意:动态路由也可以传多个参数,但一般只传一个

<router-link to="/index/15">主页</router-link>
{path:'/index/:key',name:'index',component:()=>import('../views/index.vue')
},
export default {name: 'index',created() {let key = this.$route.params.key;console.log(key)}
}

2.编程式

2.1查询参数传参

<el-button type="primary" @click="info">用户</el-button>
info(){this.$router.push("/info?k1=v1&k2=v2")
}
{path:'/info',name:'info',component:()=>import('../views/info.vue')
},
export default {name: "info",created() {// 查询参数都是使用querylet k1 = this.$route.query.k1;let k2 = this.$route.query.k2;console.log(k1+"....."+k2)}
}

2.2动态路由传参

<el-button type="primary" @click="info">用户</el-button>
this.$router.push("/info/17")
{path:'/info/:key',name:'info',component:()=>import('../views/info.vue')
},
export default {name: "info",created() {let key = this.$route.params.key;console.log(key)}
}

4.异步请求后台接口

1. 在main.js全局导入axios  import axios from 'axios'
2. 在main.js中 axios 挂载vue原生对象中 Vue.prototype.$http=axios
3. 在相应组件中使用axios    this.$http.请求方式("").then(resp=>{})

import axios from "axios";
// 把axios挂载到vue原型上,$http自己起
Vue.prototype.$http=axios
login(){this.$http.get("http://localhost:8080/user/login").then(resp=>{console.log(resp);})
},

跨域

通过ajax从一个域访问另一个域的过程。称为跨域。

如果他们的协议,ip,或端口。只要有一个不同。则称为不同的域。

1.后端解决

1.使用注解

2.编写一个跨域配置类

package com.example.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;import java.util.Arrays;@Configuration
public class CorsConfig {@Beanpublic CorsFilter corsFilter() {CorsConfiguration configuration = new CorsConfiguration();configuration.setAllowedOriginPatterns(Arrays.asList("*")); //"192.168.3.150:8080", "192.168.1.20"configuration.setAllowedMethods(Arrays.asList("*")); //允许所有请求方法configuration.setAllowedHeaders(Arrays.asList("*")); //允许所有请求头configuration.setAllowCredentials(true);UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();source.registerCorsConfiguration("/**", configuration);return new CorsFilter(source);}
}

2.前端解决

login(){this.$http.get("api/user/login").then(resp=>{console.log(resp);})
},

相关文章:

vue组件,父子通信,路由,异步请求后台接口,跨域

1.组件注册 1.1局部注册 局部注册组件---1.导入import 组件对象名 from 组件网页路径 export default{ name:"名称", data(){return {}}, created(){}, …...

详解分布式ID实践

引言 分布式ID&#xff0c;所谓的分布式ID&#xff0c;就是针对整个系统而言&#xff0c;任何时刻获取一个ID&#xff0c;无论系统处于何种情况&#xff0c;该值不会与之前产生的值重复&#xff0c;之后获取分布式ID时&#xff0c;也不会再获取到与其相同的值&#xff0c;它是…...

.NET + Vue3 的前后端项目在IIS的发布

目录 一、发布准备 1、安装 IIS 2、安装 Windows Hosting Bundle&#xff08;.NET Core 托管捆绑包&#xff09; 3、安装 IIS URL Rewrite 二、项目发布 1、后端项目发布 2、前端项目发布 3、将项目部署到 IIS中 三、网站配置 1、IP配置 2、防火墙配置 3、跨域配置…...

软件测试之压力测试

&#x1f345; 点击文末小卡片&#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 压力测试 压力测试是一种软件测试&#xff0c;用于验证软件应用程序的稳定性和可靠性。压力测试的目标是在极其沉重的负载条件下测量软件的健壮性和错误处理能力&…...

矩阵-矩阵置零

矩阵置零 给定一个 m x n 的矩阵&#xff0c;如果一个元素为 0 &#xff0c;则将其所在行和列的所有元素都设为0 。请使用 原地 算法。在计算机科学中&#xff0c;一个原地算法&#xff08;in-place algorithm&#xff09;是一种使用小的&#xff0c;固定数量的额外之空间来转…...

【JavaScript】《JavaScript高级程序设计 (第4版) 》笔记-Chapter19-表单脚本

十九、表单脚本 表单脚本 JavaScript 较早的一个用途是承担一部分服务器端表单处理的责任。虽然 Web 和 JavaScript 都已经发展了很多年&#xff0c;但 Web 表单的变化不是很大。由于不能直接使用表单解决问题&#xff0c;因此开发者不得不使用JavaScript 既做表单验证&#xf…...

【C# 数据结构】队列 FIFO

目录 队列的概念FIFO (First-In, First-Out)Queue<T> 的工作原理&#xff1a;示例&#xff1a;解释&#xff1a; 小结&#xff1a; 环形队列1. **FIFO&#xff1f;**2. **环形缓冲队列如何实现FIFO&#xff1f;**关键概念&#xff1a; 3. **环形缓冲队列的工作过程**假设…...

论文笔记-WWWCompanion2024-LLM as Data Augmenters for Cold-Start Item Recommendation

论文笔记-WWW Companion 2024-Large Language Models as Data Augmenters for Cold-Start Item Recommendation 大语言模型作为冷启动项目推荐的数据增强器摘要1.引言2.前言3.LLMs作为数据增强3.1增强数据生成3.2成对比较损失 4.实验4.1实验设置4.2结果和分析4.3超参数实验 5.总…...

Java 语法新特性(Records、Pattern Matching、Sealed Classes)深度解析(11/17/21)✨

一、Records&#xff08;Java 16&#xff09; &#x1f4dd; 核心价值&#xff1a;简化不可变数据载体的定义 // 传统POJO vs Record public record User(String name, int age) {} // 自动生成&#xff1a;构造方法/equals()/hashCode()/toString() User user new User(&qu…...

QUdpSocket的readyRead信号只触发一次

问题 QUdpSocket的readyRead信号只触发一次。 原因 on_readyRead槽函数里必须读出现有数据后&#xff0c;才能触发新的事件。 解决办法 在on_readyRead槽函数里取出数据。 void MainWindow::on_readyRead() {qDebug() << "on_readyRead in";while (m_udp…...

jsherp importItemExcel接口存在SQL注入

一、漏洞简介 很多人说管伊佳ERP&#xff08;原名&#xff1a;华夏ERP&#xff0c;英文名&#xff1a;jshERP&#xff09;是目前人气领先的国产ERP系统虽然目前只有进销存财务生产的功能&#xff0c;但后面将会推出ERP的全部功能&#xff0c;有兴趣请帮点一下 二、漏洞影响 …...

测试data_management函数

测试data_management函数 这是我最近正在开发的AI工具信息平台的部门功能模块测试&#xff0c;基于streamlit架构。整理出来与大家分享&#xff0c;也为我以后自己回溯找到资源。 为了测试 data_management 函数并结合 Excel 文件中的 “Tools” 表单内容&#xff0c;我们需要…...

微信小程序---计划时钟设计与实现

微信小程序-计划时钟已上线,欢迎各位小伙伴的测试和使用~(微信小程序搜计划时钟即可使用) 在这篇博客中,我们将探讨如何在微信小程序中设计和实现一个任务管理功能,该功能允许用户添加、删除和查看任务。任务管理系统的核心是基于日期和时间的任务管理,可以设置任务的开…...

深度学习之图像回归(二)

前言 这篇文章主要是在图像回归&#xff08;一&#xff09;的基础上对该项目进行的优化。&#xff08;一&#xff09;主要是帮助迅速入门 理清一个深度学习项目的逻辑 这篇文章则主要注重在此基础上对于数据预处理和模型训练进行优化前者会通过涉及PCA主成分分析 特征选择 后…...

深入理解HttpSecurity的设计

一、HttpSecurity的应用 在前章节的介绍中我们讲解了基于配置文件的使用方式,也就是如下的使用。 也就是在配置文件中通过 security:http 等标签来定义了认证需要的相关信息,但是在SpringBoot项目中,我们慢慢脱离了xml配置文件的方式,在SpringSecurity中提供了HttpSecurity…...

15增减字符串匹配(贪心)思路解析+源码

文章目录 题目[](https://leetcode.cn/problems/di-string-match/)算法原理贪心证明源码总结题目 假设s="I D I D"也就是增降增降,在0-4中,每两个数存在这种方式数组为【1, 3,2, 4,0】;(如下图) 算法原理 解法:贪心 1.当遇到“I”:选择当前最小的那个数 2…...

Java NIO与传统IO性能对比分析

Java NIO与传统IO性能对比分析 在Java中&#xff0c;I/O&#xff08;输入输出&#xff09;操作是开发中最常见的任务之一。传统的I/O方式基于阻塞模型&#xff0c;而Java NIO&#xff08;New I/O&#xff09;引入了非阻塞和基于通道&#xff08;Channel&#xff09;和缓冲区&a…...

14.7 LangChain Experimental 模块解析:解锁 Auto-GPT 开发新范式

LangChain Experimental 模块解析:解锁 Auto-GPT 开发新范式 关键词:LangChain Experimental、Auto-GPT 实现、自主智能体开发、Agent 架构设计、实验性功能实践 1. LangChain Experimental 模块的定位与核心能力 模块定位解析: #mermaid-svg-4xz2OlZBUFjkBmqw {font-fami…...

wps中的js开发

严格区分大小写 /*** learn_js Macro*/ function test() {Range(D7).Value2Selection.Value2; // Selection.formula "100" }function Workbook_SheetSelectionChange(Sh, Target) {if(Sh.Name Sheet1) {test();}}function test2() {// 把I4单元格及其周边有数的单…...

day16_推荐系统和总结

文章目录 day16_推荐系统和总结一、推荐实现1、基于流行度推荐&#xff08;掌握&#xff09;1.1 近期热门商品推荐1.2 个人热门商品推荐 2、基于隐语义模型的协同过滤推荐&#xff08;了解&#xff09;2.1 ALS算法介绍2.2 推荐代码 3、基于物品的协同过滤推荐&#xff08;了解&…...

Hugging Face Transformer库实战:从入门到生产部署

1. 理解Hugging Face Transformer库的核心价值第一次接触Hugging Face的Transformer库时&#xff0c;我被它简洁的API设计震撼到了。这个开源库彻底改变了自然语言处理&#xff08;NLP&#xff09;领域的研究和应用方式&#xff0c;让开发者能够用几行代码就调用最先进的预训练…...

ANSYS Mesh网格质量深度解读:除了Skewness,这些指标(Orthogonal Quality, Aspect Ratio)到底怎么看?

ANSYS Mesh网格质量深度解析&#xff1a;从指标解读到实战优化 在CFD仿真中&#xff0c;网格质量往往决定了计算结果的可靠性和收敛效率。许多工程师虽然能够生成看似完整的网格&#xff0c;却对质量报告中的各项指标感到困惑——Orthogonal Quality达到多少才算合格&#xff1…...

高通Camera HAL3开发调试:手把手教你给CAMX节点添加YUV/RAW数据Dump功能

高通Camera HAL3深度调试&#xff1a;CAMX节点YUV/RAW数据Dump实战指南 在移动影像系统的开发中&#xff0c;数据验证环节往往决定着整个图像处理管道的可靠性。当算法效果出现偏差、图像出现异常时&#xff0c;开发者最需要的是能够直接获取原始数据的能力。本文将深入探讨如何…...

别再模拟IIC了!用STM32F103C8T6的硬件IIC驱动AT24C64,CubeMX配置+避坑指南

从模拟IIC到硬件IIC&#xff1a;STM32F103C8T6驱动AT24C64的实战进阶指南 在嵌入式开发中&#xff0c;IIC总线因其简洁的两线制设计&#xff08;SCL时钟线和SDA数据线&#xff09;而广受欢迎。然而&#xff0c;许多开发者习惯使用GPIO模拟IIC时序&#xff0c;这种方式虽然灵活&…...

指针的概念及应用

一.指针的概念&#xff1a;本质上指针是一个变量&#xff0c;他的值不是数据&#xff0c;而是另一个变量在内存的地址。*&#xff1a;解引用运算符&#xff1b;&&#xff1a;取地址运算符&#xff1b;->&#xff1a;结构体/联合体指针成员访问符;[ ]:下标运算符&#xf…...

当混乱的地址数据遇见智能解析:一个Java开发者的救赎之旅

当混乱的地址数据遇见智能解析&#xff1a;一个Java开发者的救赎之旅 【免费下载链接】address-parse Java 版智能解析收货地址 项目地址: https://gitcode.com/gh_mirrors/addr/address-parse 你是否也曾被这样的地址数据折磨过&#xff1f; "广东省深圳市盐田区…...

从5G到Wi-Fi:工程师如何在实际项目中权衡频谱利用率与误码率?一份避坑指南

从5G到Wi-Fi&#xff1a;工程师如何在实际项目中权衡频谱利用率与误码率&#xff1f;一份避坑指南 在物联网终端设计中&#xff0c;工程师常常面临一个核心矛盾&#xff1a;高频谱利用率意味着更高的数据传输速率&#xff0c;而低误码率则代表更稳定的连接质量。这种权衡不仅影…...

3dsconv完整教程:5分钟学会3DS游戏格式转换的终极方案

3dsconv完整教程&#xff1a;5分钟学会3DS游戏格式转换的终极方案 【免费下载链接】3dsconv Python script to convert Nintendo 3DS CCI (".cci", ".3ds") files to the CIA format 项目地址: https://gitcode.com/gh_mirrors/3d/3dsconv 3dsconv是…...

EvilClippy进阶应用:混淆宏分析工具的高级策略

EvilClippy进阶应用&#xff1a;混淆宏分析工具的高级策略 【免费下载链接】EvilClippy A cross-platform assistant for creating malicious MS Office documents. Can hide VBA macros, stomp VBA code (via P-Code) and confuse macro analysis tools. Runs on Linux, OSX a…...

【机器学习】告别暴力调参:Optuna贝叶斯优化实战与XGBoost/LightGBM效率对比

1. 为什么我们需要告别暴力调参&#xff1f; 在机器学习项目中&#xff0c;模型调参一直是个让人又爱又恨的环节。记得我刚入行时&#xff0c;经常整夜开着电脑跑网格搜索(Grid Search)&#xff0c;第二天醒来发现跑了上百组参数&#xff0c;结果最好的模型准确率只提升了0.5%。…...