当前位置: 首页 > 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;了解&…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)

骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术&#xff0c;它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton)&#xff1a;由层级结构的骨头组成&#xff0c;类似于人体骨骼蒙皮 (Mesh Skinning)&#xff1a;将模型网格顶点绑定到骨骼上&#xff0c;使骨骼移动…...

实战三:开发网页端界面完成黑白视频转为彩色视频

​一、需求描述 设计一个简单的视频上色应用&#xff0c;用户可以通过网页界面上传黑白视频&#xff0c;系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观&#xff0c;不需要了解技术细节。 效果图 ​二、实现思路 总体思路&#xff1a; 用户通过Gradio界面上…...

GraphRAG优化新思路-开源的ROGRAG框架

目前的如微软开源的GraphRAG的工作流程都较为复杂&#xff0c;难以孤立地评估各个组件的贡献&#xff0c;传统的检索方法在处理复杂推理任务时可能不够有效&#xff0c;特别是在需要理解实体间关系或多跳知识的情况下。先说结论&#xff0c;看完后感觉这个框架性能上不会比Grap…...

【阅读笔记】MemOS: 大语言模型内存增强生成操作系统

核心速览 研究背景 ​​研究问题​​&#xff1a;这篇文章要解决的问题是当前大型语言模型&#xff08;LLMs&#xff09;在处理内存方面的局限性。LLMs虽然在语言感知和生成方面表现出色&#xff0c;但缺乏统一的、结构化的内存架构。现有的方法如检索增强生成&#xff08;RA…...

Excel 怎么让透视表以正常Excel表格形式显示

目录 1、创建数据透视表 2、设计 》报表布局 》以表格形式显示 3、设计 》分类汇总 》不显示分类汇总 1、创建数据透视表 2、设计 》报表布局 》以表格形式显示 3、设计 》分类汇总 》不显示分类汇总...

基于django+vue的健身房管理系统-vue

开发语言&#xff1a;Python框架&#xff1a;djangoPython版本&#xff1a;python3.8数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat12开发软件&#xff1a;PyCharm 系统展示 会员信息管理 员工信息管理 会员卡类型管理 健身项目管理 会员卡管理 摘要 健身房管理…...