Vue与Axios的快速入门

一、vue

Vue是前端框架 => (半成品的软件) => 简化原生JavaScript对于DOM的操作。

MVVM:Model-View-ViewModel 双向绑定! Vue将页面中的元素与Vue对象中的数据绑定在一起!  Vue是一个大管家,实时监听页面与对象中数据的变化,一个发生了改变另外一个也会跟随一起改变!

Vue的快速入门:

1.导入vue.js    一定要导入vue.js页面才可以使用Vue!

2.在<body>标签声明一个<div>标签并且给一个id叫做app Vue要基于Id进行数据的管理

3.<script>标签中声明Vue对象 

最基础在页面中获取Vue中定义的数据的方式 {{插值表达式}}

new Vue({
   el : "#app",
   data : {
       属性名 : 属性值,
       属性名 : 属性值,
       属性名 : 属性值,
   }
});

Vue的常用指令

v-bind : 声明在标签中,用于将Vue对象中定义的属性值作为标签的指定属性值!

v-bind是单向绑定!只可以通过Vue对象中的内容实时影响绑定的标签属性值,反之不可以!

v-bind:属性名="Vue中的属性名"

<a v-bind:href="url">跳转</a>

v-model : 声明在表单元素中,用于将Vue对象中定义的属性值与输入框/单选框/多选项的收集内容绑定在一起

v-model是双向绑定!输入框的内容改变会影响Vue对象中的内容,相反同理!

<form action="#" method="get">
<!-- 基于v-model指令完成数据的双向绑定(互相影响) -->
用户名:&emsp;<input type="text" name="username" v-model="user.username">
<br/>
<br/>
密码:&emsp;<input type="password" name="password" v-model="user.password">
<br/>
<br/>
性别:&emsp;男<input type="radio" name="gender" v-model="user.gender" value="1"> 
女<input type="radio" name="gender" v-model="user.gender" value="2">
</form>

<script>
    //创建Vue对象管理指定区域
    new Vue({
        el: "#app",
        data: {
            user: {
                username: "张二狗",
                password: "ergou666",
                gender: ''
            }
        }
    });
</script>

v-on:用于给表单中的元素绑定事件

v-on:事件名(没有on)="Vue中的函数名称()"

<input type="button" value="触发Hello函数" v-on:click="hello()"/>

@事件名="Vue中的函数名称()"
<input type="button" value="触发Hello函数" @click="hello()"/>

Vue对象中除了可以声明data(数据模型)也可以声明函数

new Vue({
   el : "#app",
   data : {
       属性名 : 属性值,
       属性名 : 属性值,
       属性名 : 属性值
   },
   methods : {
   	  方法名 : function(){},
   	  方法名 : function(){}
   }
});

v-if : 判断条件用于指定标签是否展示

v-if="判断条件" 条件:可以直接获取Vue中的Data的内容,不需要加{{}} / 条件要返回boolean值​<span v-if="user.age <= 0">不是人</span><span v-else-if="user.age >= 1 && user.age <= 30">年轻人</span><span v-else-if="user.age >= 31 && user.age <= 60">中年人</span><span v-else>老年人</span>

v-show : 判断条件用于指定标签是否展示

v-show="判断条件" 条件:可以直接获取Vue中的Data的内容,不需要加{{}} / 条件要返回boolean值

<span v-show="user.gender == 1 && user.age >= 1 && user.age <= 30">你是一个年轻男人</span>
<span v-show="user.gender == 2 && user.age >= 1 && user.age <= 30">你是一个年轻女人</span>

区别:v-if如果条件不满足,标签是否渲染 不渲染!

v-show如果条件不满足,标签是否渲染 渲染(通过控制标签的dispaly的css样式不显示)

v-for : 遍历Vue对象中data的数据在页面循环渲染展示

(1)在Vue对象中准备一个用于遍历的数组(对象不能遍历)

(2)声明每次遍历完成后用什么HTML元素进行遍历内容的展示

v-for="临时变量名 in Vue中属性名" => 在用于渲染的元素的标签体中可以通过插值表达式{{临时变量名}}

<div v-for="username in usernameArray">{{username}}</div>

<span v-for="(username,index) in usernameArray">{{index}}:{{username}}</span>

Vue的生命周期

学习Vue生命周期的目的只有一个,不是明确Vue的每一个生命周期都干什么,明确的是基于Vue的某一个生命周期节点,我们可以做点什么!

例:Vue处于beforeCreate周期(提供方法beforeCreate)可以编写方法的逻辑,就在这个生命周期节点执行一些指定的代码!

记住mounted生命周期的触发节点当Vue对象管理了区域将内容挂载好之后,自动执行!

new Vue({
el: '#app',
data: {
	message: "we are 伐木累!"
},
//使用Vue钩子函数(生命周期函数)的目的就是在Vue加载完整个页面之后自动执行一些定义好的代码(向后台请求要数据)
mounted() {
	console.log("Vue对象已经加载完毕(页面渲染完毕),自动执行mounted钩子函数!")
}
});

Ajax的概念

补充:form表单请求GET/POST的区别

GET请求:会将收集到的数据按照 请求路径?KEY=VALUE&KEY=VALUE的方式拼接在请求路径上。

提交路径

POST请求:会将收集到的数据按照KEY=VALUE的方式提交(不会放在请求路径上,放到请求体中)

需要基于F12找到开发者工具-网络(抓包)

区别:

POST请求更安全(请求的数据在地址栏看不到,能够抓包看到) / GET请求不安全 (二者没什么区别)

POST请求由于数据在请求体中,请求体可以保存任意大小的数据,GET请求参数在路径上(路径的长度有限制)

POST请求可以发送很多种(二进制数据)/GET请求只能发送ASCII字符数据

想要发送请求获取数据GET(快)

想要发送数据POST(方便/容量更大)

Ajax的概念:

异步交互的技术,可以在不影响整合页面的情况下,发送请求接收响应数据,完成页面的局部渲染。

悄悄的发请求,悄悄的处理结果 => 将结果渲染出来!

同步就是一件事一件事做,异步就是多件事可以一起做!

原生Ajax

document.getElementById("btn").onclick = function () {
    //创建XMLHttpRequest对象
    var xmlHttpRequest = new XMLHttpRequest();

    //基于open方法指定要请求的路径以及请求的方式
    xmlHttpRequest.open('GET', 'http://yapi.smart-xwork.cn/mock/169327/emp/list');

    //发送请求
    xmlHttpRequest.send();

    //给xmlHttpRequest对象绑定监听事件(监听内部的readyState内容发生改变)
    xmlHttpRequest.onreadystatechange = function () {
    //当readyState是4并且status是200才表示请求成功,响应数据以准备就绪!
    if (xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200) {
    //默认把接收到的响应数据封装到对象的responseText
    document.getElementById("div").innerHTML = xmlHttpRequest.responseText;
    	}
    }
}

Axios框架

发送GET请求 :  axios.get("路径").then(r => {结果处理});

发送POST请求   : axios.post("路径","KEY=VALUE").then(r => {结果处理});

处理响应数据    .then(r => {})中的r对象,是axios用于保存响应数据的对象,并不是响应数据本体【在r对象中封装】,在r对象的data属性封装。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值