前端最火Vue从新手村到老师傅(二)

此文接上文__前端最火Vue从新手村到老师傅(一)
在这里插入图片描述

Vue.js

3.Vue常用实例属性和方法以及生命周期

3.1 常用实例属性

$el
类型 : HTMLElement
只读 :
详细 : Vue实例使用的根DOM元素
在这里插入图片描述
$data
类型 : Object
详细 :
Vue实例观察的数据对象,Vue实例代理了其data对象属性的访问
在这里插入图片描述
$options
类型 : Object
详细 : 用于当前Vue实例的初始化选项,需要在选项中包含自定义属性时会有用处 :

window.onload = function(){
	var vm = new Vue({
		el : '#box', //指明数据展示在哪个view里面
		data:{
				a : 1 ,
		},
		  methods:{

		},
		//自定义属性
		myData : 12,
		//自定义的方式
		 myfunction : function(){
			 alert('hello');
		},
	});
	//获取自定义的属性
	alert(vm.$options.myData);
	vm.$options.myfunction();
};

3.2 常用实例方法

m o u n t ( [ e l e m e n t O r S e l e c t o r ] ) 参 数 : E l e m e n t ∣ s t r i n g [ e l e m e n t O r S e l e c t o r ] b o o l e a n [ h y d r a t i n g ] 返 回 值 : v m 实 力 本 身 用 法 : 如 果 V u e 实 例 在 实 例 化 时 没 收 到 e l 选 项 , 则 它 处 于 " 未 挂 载 " 状 态 , 没 有 关 联 D O M 元 素 , 可 以 使 用 v m . mount([elementOrSelector]) 参数 : {Element | string } [elementOrSelector] {boolean} [hydrating] 返回值 : vm 实力本身 用法 : 如果Vue实例在实例化时没收到el选项,则它处于"未挂载"状态,没有关联DOM元素,可以使用vm. mount([elementOrSelector]):Elementstring[elementOrSelector]boolean[hydrating]:vm:Vueel""DOM使vm.mount() 手动挂载一个实例

如果没有提供elementOrSelector参数,模板将被渲染为文档之外的元素,而且必须用原生的DOM API把它插入文档
在这里插入图片描述

3.3 Vue的生命周期

每个Vue的实例都在被创建之前要经过一系列的初始化过程,例如需要设置数据监听,编译模板,挂载实例到DOM,数据变化更新DOM等,同时这个过程也会运行一些叫做生命周期钩子的函数,给予用户机会在一些特定的场景下添加代码

Vue的生命周期钩子函数如下 :

  1. beforeCreate : 组件实例刚刚被创建,任何属性都没有
  2. created : 实力已经创建完成,data(属性)已经绑定,但是DOM还没有生成
  3. beforeMount : 模板被编译之前
  4. mounted : 模板编译完成,意思就是 {{}} 表达式是否变成数据
  5. beforeUpdate : 组件更新完成
  6. Updated : 组件更新完成
  7. beforeDestroy : 组件销毁之前
  8. destroyed : 组件销毁完成

为方便理解 如下图所示
在这里插入图片描述
Vue的生命周期仅作为了解,大致知道流程即可

在这里插入图片描述
接下来是Vue的绝对重点内容

在这里插入图片描述

3.4Vuejs中通过Axios完成异步请求 --(重点)

Axios是一个基于promise的HTTP库,可以用在浏览器和node.js中

axios的github: axiox戳这

步骤 :
导入axios的js文件

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

get请求+传参方式一 :

axios.get('user' , {
	params : {
		ID : 12345
	}
	}).then(function(response){
		console.log(response);
	}).catch(function(error){
		console.log(error);
})

get请求+传参方式二 :

axios.get('/user?id=123456').then(function(response){
	console.log(response);
}).catch(function(error){
	console.log(error);
});

post请求+传参方式一 :
注意 : 后端的springmvc必须设置 : @ResponseBody才能获取到值

var params = {
	username : username ,
	paswword : password
} ;

this.$axios.post(url , params).then(res=>{
		console.log(res);
})

post请求+传参方式二 :

var params = new URLSearchParams();
params.append('username' , username); 
params.append('password' , password);
this.$axios({
	method : 'post' , 
	url : url ,
	data : params
}).then((res)=>{
	console.log(res);
});

axios请求的时候带上请求头token验证
方法一 :

this.$axios.defaults.headers.common['Authorization']=token;
this.$axios.get('http://localhost : 8080/test/3')

方法二 :

let config = {
	Authorization : token
}
this.$axios.get('http://localhost : 8080/test/3' , {
	headers : config,
})

为方便起见 , 为所有支持的请求方法提供了别名

axios.request(config)
axios.get(url[, config])
axios.delete(url[, config])
axios.head(url[, config])
axios.post(url[, data[, config]])
axios.put(url[, data[, config]])
axios.patch(url[, data[, config]])

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值