Vue生命周期;Vue路由配置;vue网络请求;vue跨域处理

一,Vue生命周期

<template><div >
<h1 @click="changeText">{{ info }}</h1></div>
</template><script>
export default {name: 'HelloWorld',data(){return{info:"介绍组件生命周期"}},methods:{changeText(){this.info="修改组件内容";}},beforeCreate(){ /**组件生命周期 */console.log("创建组件前.....")},created(){console.log("创建组件后.....")},beforeMount(){console.log("数据渲染前...")},mounted(){console.log("数据渲染后...")},beforeUpdate(){console.log("数据修改前...")},updated(){console.log("数据修改后...")},beforeDestroy(){
//组件跳离本页面,本页面会执行销毁console.log("数据销毁前...")},destroyed(){console.log("数据销毁后...")}}
</script>
<style ></style>

二,Vue路由配置

        前端路由:说白了就是通过不同的url,来访问不同的页面 这就是前端路由的概念。(即在地址栏输入对应组件设置的地址路径,即可访问,不用再通过主组件中转。)

1,介绍路由

2.安装vue router@3.5.2

【安装指定版本路由】npm install --save vue-router@3  

 2版本的vue项目,安装3版本的路由!

然后重启一下vue项目。

3.配置路由 进行地址栏访问页面

main.js配置文件进行中配置。

import Vue from 'vue'
import App from './App.vue'
import './registerServiceWorker'
//1,引入路由管理器
import VueRouter from 'vue-router'
//引入想要配置路由的子组件
import HelloWorld from './components/HelloWorld.vue'
Vue.config.productionTip = false
//2,加载路由
Vue.use(VueRouter)//3,配置路由
const router=new VueRouter({mode:"history",//设置项目的访问模式为history模式,结果是地址栏去掉#
routes:[{path:"/hello",component:HelloWorld}  ]})
//初始化配置
new Vue({router,render: h => h(App),
}).$mount('#app')

4.在主组件(app.vue)中配置路由显示

<template><div><router-view></router-view></div>
</template>

HelloWorld.vue组件内容:

<template><div >
<h1>路由配置成功</h1></div>
</template><script>
export default {name: 'HelloWorld',}
</script>
<style ></style>

补:配置多个路由:在main.js配置文件中const router=new VueRouter直接添加导入即可,其它与上面一致。

5.访问:

自身域名+/hello即可访问。

三,vue网络请求

        使用vuejs前端项目,访问后端服务使用axios库,Axios 是一个基于 Promise 的 HTTP 库,可以用在浏览器和 node.js 中。

1.安装Axios

使用命令:npm install axios --save

然后启动运行项目:npm run serve

2.使用  

2.1get请求

【get请求方式,不友好,有乱码】

<template><div><button @click="getArr">点击发送get请求,获得数据</button></div>
</template>
<script>
//引入网络请求资源对象;
import axios  from 'axios';
export default {name:"AxiosGet",methods:{getArr(){//发送get请求axios.get("http://iwenwiki.com/api/blueberrypai/getIndexInteresting.php").then(function(mess){//请求成功时执行的方法console.log("成功"+mess);}).catch(function(e){//请求错误时执行的方法console.log("发生了错误"+e)})}}
}  
</script>
<style></style>

2.2post请求

处理乱码

<!-- post带参提交 --><template><div><form >用户名:<input type="text" v-model="uname"><br>密码:<input type="text" v-model="upwd"><br>验证码:<input type="text" v-model="yzm"><br><input type="button" value="登录" @click="ckLogin"></form></div></template><script>
import axios from 'axios'; //网络请求对象
import qs from "qs"  //处理参数的类型转换和中文乱码export default {name:"UserLogin",data(){return{uname:"",upwd:"",yzm:""}},methods:{ckLogin(){//发送post请求axios.post("http://iwenwiki.com/api/blueberrypai/login.php",qs.stringify({user_id:this.uname,password:this.upwd,verification_code:this.yzm})).then(mess=>{//mess是响应回的信息console.log(mess)if (mess.data.success){alert("登录成功")/** 输入如下登录成功*          user_id:"iwen@qq.com",password:"iwen123",verification_code:"crfvw"*///登录成功后进行组件跳转this.$router.push("/us")}else{alert("登录失败")}}).catch(err=>{console.log("登录失败")console.log(err)})//简化版成功与失败执行提示}}}</script><style></style>

四,vue跨域处理

跨域的情况有很多:端口不一样,域名不一样,ip和域名不对应等等,都会出现跨域。或者 :

         进行前端与后端数据进行交互

访问百度音乐例子

未进行跨域处理运行会出错:

解决问题

在项目的跟目录下,创建一个 环境配置文件 vue.config.js,

如果有此文件,修改里面的内容如下:(将原文件已有内容删除)

module.exports = { devServer: {proxy: {'/api': {target: 'http://tingapi.ting.baidu.com',ws: true,pathRewrite: {'^/api': ''},changeOrigin: true}}}
}

修改配置文件后进行项目重启

【修改组件中,get请求或post里的地址代码】

        现在'http://tingapi.ting.baidu.com', 就被名字叫/api的代替了。

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

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

相关文章

CenterNet官方代码—目标检测模型推理部分

CenterNet模型推理部分解析 CenterNet官方代码环境部署 CenterNet作为2019年CVPR推出的论文&#xff0c;论文中给出了官方代码所在的github仓库地址。https://github.com/xingyizhou/CenterNet。 整个代码的代码量并不是特别大&#xff0c;但整个项目的难点在于使用了老版本的…

Djourney新手入门基础,AI摄影+AI设计+AI绘画-AIGC作图

人工智能技术的飞速发展&#xff0c;AI正逐渐渗透进创意领域&#xff0c;特别是在摄影、设计和绘画方面&#xff0c;AIGC&#xff08;Artificial Intelligence for Generative Content&#xff09;技术正在重塑我们的创作方式。本文将深入探讨Djourney这款创新工具&#xff0c;…

XML_Tomcat_HTTP

第四章 XML_Tomcat10_HTTP 一 XML XML是EXtensible Markup Language的缩写&#xff0c;翻译过来就是可扩展标记语言。所以很明显&#xff0c;XML和HTML一样都是标记语言&#xff0c;也就是说它们的基本语法都是标签。 可扩展 三个字表面上的意思是XML允许自定义格式。但这不代…

推荐这款神器:Perplexity

今天推荐是一款AI搜索引擎&#xff0c;还支持gpt-4模型的使用&#xff0c;虽然4小时只能使用5次&#xff0c;但是相比于常规的搜索引擎&#xff0c;在某些方面还是很强的&#xff0c;个人感觉优于newbing。 页面简洁&#xff0c;没有广告&#xff0c;内容丰富&#xff0c;功能…

LinkedHashMap 如何实现排序

目录 一、LinkedHashMap二、排序实现三、代码片段分析 一、LinkedHashMap LinkedHashMap 是 Java 中的一个集合类&#xff0c;它是 HashMap 的一个子类&#xff0c;继承了 HashMap 的所有特性&#xff0c;并且在此基础上增加了一个双向链表来维护元素的插入顺序或者访问顺序。L…

Day26_0.1基础学习MATLAB学习小技巧总结(26)——数据插值

利用空闲时间把碎片化的MATLAB知识重新系统的学习一遍&#xff0c;为了在这个过程中加深印象&#xff0c;也为了能够有所足迹&#xff0c;我会把自己的学习总结发在专栏中&#xff0c;以便学习交流。 参考书目&#xff1a; 1、《MATLAB基础教程 (第三版) (薛山)》 2、《MATL…

C++ STL中sort函数

STL的sort算法&#xff0c;数据量大时采用QuickSort快排算法&#xff0c;分段归并排序。一旦分段后的数据量小于某个门槛&#xff08;16&#xff09;&#xff0c;为避免QuickSort快排的递归调用带来过大的额外负荷&#xff0c;就改用Insertion Sort插入排序。如果递归层次过深&…

C++入门基础知识69(高级)——【关于C++ 动态内存】

成长路上不孤单&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a;&#x1f60a; 【14后&#x1f60a;///C爱好者&#x1f60a;///持续分享所学&#x1f60a;///如有需要欢迎收藏转发///&#x1f60a;】 今日分享关于C 动态内存的相关内容&#xff01; 目录…

[产品管理-19]:NPDP新产品开发 - 17 - 产品设计与开发工具 - 实体化设计工具:联合分析、功能分析、FAST技术图和逆向工程

目录 前言&#xff1a; 一、什么是实体化设计 1.1 什么是实体化设计 1、定义与概述 2、设计流程 3、关键要素 4、应用领域 5、举例说明 1.2 实体化设计与概念设计的区别 实体化设计 概念设计 区别归纳 1.3 实体化设计与初步设计、规格设计的区别 1、定义与目的 …

51单片机-LCD1602(液晶显示屏)- 写驱动

时间永远是检验真理唯一标准&#xff01;Whappy&#xff01; 主要简单写出几个驱动 初始化、显示字符、显示字符串、显示整形数据、有符号数据、十六进制、二进制&#xff01; void LCD_Init(); void LCD_ShowChar(unsigned char Line,unsigned char Column,char Char); vo…

平安养老险阜阳中心支公司开展金融教育宣传专项活动

为全面深入开展“金融教育宣传月”的各项工作&#xff0c;不断完善金融惠民利民举措&#xff0c;提升金融服务质效&#xff0c;帮助基层群众增强维权意识、防非反诈的自我保护能力。近日&#xff0c;平安养老保险股份有限公司&#xff08;以下“平安养老险”&#xff09;阜阳中…

【Node.js】RabbitMQ 延时消息

概述 在 RabbitMQ 中实现延迟消息通常需要借助插件&#xff08;如 RabbitMQ 延迟队列插件&#xff09;&#xff0c;因为 RabbitMQ 本身不原生支持延迟消息。 延迟消息的一个典型场景是&#xff0c;当消息发布到队列后&#xff0c;等待一段时间再由消费者消费。这可以通过配置…

带你0到1之QT编程:十一、掌握Containers容器艺术,一网打尽开发利器

此为QT编程的第十一谈&#xff01;关注我&#xff0c;带你快速学习QT编程的学习路线&#xff01; 每一篇的技术点都是很很重要&#xff01;很重要&#xff01;很重要&#xff01;但不冗余&#xff01; 我们通常采取总-分-总和生活化的讲解方式来阐述一个知识点&#xff01; …

npm install报错,gyp verb `which` failed Error: not found: python

主要错误 gyp verb which failed Error: not found: python2 gyp ERR! configure error gyp ERR! stack Error: Cant find Python executable "python", you can set the PYTHON env variable. npm ERR! node-sass4.14.1 postinstall: node scripts/build.js 全部错…

几分钟学会搭建一个自己的外卖霸王餐系统

大家好&#xff0c;我是鲸天科技千千&#xff0c;大家都知道我是做小程序开发的&#xff0c;平时会给大家分享一些互联网相关的创业项目&#xff0c;感兴趣的可以跟我关注一下。 搭建一个首先就是要搭建一个自己的霸王餐小程序&#xff0c;我们自己的工作就是把这个小程序推广…

合肥鲸天科技的外卖会员卡系统有人做过吗?赚钱吗?

我们先来了解一下这个合肥鲸天科技&#xff0c;通过我在网上找到的资料和企业查询&#xff0c;这家公司还是很有实力的&#xff0c;合肥鲸天科技有限公司也是欢迎有合作的人到公司来进行一个考察和合作其他一些项目的。 外卖会员卡简介绍&#xff1a; 这个外卖会员卡&#xf…

地震勘探原理视频总结(1-6)

目录 一、为什么要学好这门课&#xff1f; 1.1 为什么要学这门课&#xff08;为啥学&#xff09;&#xff1f; 1.2 课程包括哪些主要内容&#xff08;学什么&#xff09;&#xff1f; 1.3 如何学好这门课&#xff08;怎么学&#xff09;&#xff1f; 二、石油的生成与聚集…

linux 操作系统下的cut命令介绍和使用案例

linux 操作系统下的cut命令介绍和使用案例 在 Linux 操作系统中&#xff0c;cut 命令是一个用于文本处理的命令行工具&#xff0c;允许用户从文件或管道数据中提取特定部分并将结果输出到标准输出 1. cut 命令简介 cut 命令主要用于从文本文件中提取特定的字段、字节或字符。…

01.AI推出Yi模型家族:多维度能力的展示

人工智能咨询培训老师叶梓 转载标明出处 01.AI公司提出了Yi模型家族&#xff0c;这一系列语言和多模态模型展示了强大的多维能力&#xff0c;旨在成为下一代计算平台&#xff0c;通过大规模数据和精心设计的训练过程&#xff0c;实现接近人类智能的模型。Yi模型家族基于6B和34…

CrossOver24.0.5破解版免费下载和永久激活图文教程,苹果电脑怎么玩《黑神话:悟空》

CrossOver24可以玩《黑神话&#xff1a;悟空》么&#xff1f;答案是可以的。 1、首先我们需要下载CrossOver24软件。 CrossOver24安装包夸克网盘链接&#xff1a;https://pan.quark.cn/s/35e64d746778 2、下载完成后&#xff0c;我们双击CrossOver.pkg开始安装&#xff0c;然…