发送ajax请求
vue本身不支持发送ajax请求,需要使用vue-resourc axios等插件实现,建议使用axios
axios是一个基于promise的http请求客户端,用来发送请求
基本用法:
axios.get(url[,options]); 传参方式,url或者params传参
axios.post(url,data,[options]);
注意:axios默认发送数据时,数据格式是request payload,并非我们床用的form data格式,所以参数必须要以键值对像是传递,不能以json形式传参
传参的方式: 自己拼接键值对,使用transformrequst 在请求发送前将请求数据进行转换,或者使用qs模块进行转换
axios不支持跨域请求,可以使用vue-resource 发送跨域请求。
跨域发送请求:this.$http.get(url,[options]); this.$http.post(url,[options]);
refs获取组件或元素
说明:vm.$refs 一个对象,持有已注册过 ref 的所有子组件(或HTML元素)
使用:在 HTML元素 中,添加ref属性,然后在JS中通过vm.$refs.属性来获取
注意:如果获取的是一个子组件,那么通过ref就能获取到子组件中的data和methods
添加ref属性
<div id="app">
<h1 ref="h1Ele">这是H1</h1>
<hello ref="ho"></hello>
<button @click="getref">获取H1元素</button>
</div>
获取注册过 ref 的所有组件或元素
methods: {
getref() {
// 表示从 $refs对象 中, 获取 ref 属性值为: h1ele DOM元素或组件
console.log(this.$refs.h1Ele.innerText);
this.$refs.h1ele.style.color = 'red';// 修改html样式
console.log(this.$refs.ho.msg);// 获取组件数据
console.log(this.$refs.ho.test);// 获取组件的方法
}
}
网友评论