vue交互
1)如果vue想做交互,本身的框架是不支持的,需要引入vue-resurce库
交互方式:get、post、jsonp
1、get方式methods: { get: function () {
- /*get.php是在当前同级目录下的*/
/*get给服务发送数据,需要在服务器环境下才能看到结果即通过ftp上传至服务器*/
this.$http.get('get.php',{
a:1,
b:2
}).then(function (res) {
console.log("获取数据成功!");
/*获取状态码:status,不是statusCode*/
console.log(res.status);//200
alert("获取到了a.txt中的内容:"+res.data);
}, function (res) {
alert("获取数据失败!");
console.log(res.status);//404
});
}
}- 2、post方式
- methods: {
get: function () {
/*get.php是在当前同级目录下的*/
/*post给服务发送数据,需要在服务器环境下才能看到结果即通过ftp上传至服务器*/
this.$http.post('post.php',{
a:1,
b:2
},{
emulateJSON:true
}).then(function (res) {
console.log("获取数据成功!");
/*获取状态码:status,不是statusCode*/
console.log(res.status);//200
alert("获取到了a.txt中的内容:"+res.data);
}, function (res) {
alert("获取数据失败!");
console.log(res.status);//404
});
}
}
vue2.0之后不能使用$index。
demo:jsonp方式获取百度搜索下拉列表当前选中项颜色改变,其次键盘上下方向键可以选择
- <style>
.red {
color: red;
}
</style>
- <script>
window.onload = function () {
new Vue({
el: '#box',
data: {
myData: [],
val: '',
now: -1
},
methods: {
get: function (ev) {
if(ev.keyCode==38 || ev.keyCode==40)return;- if(ev.keyCode==13){
window.open('https://www.baidu.com/s?wd='+this.val);
this.val='';
}
this.$http.jsonp('https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su', {
wd: this.val
}, {
jsonp: 'cb'
}).then(function (res) {
this.myData = res.data.s;
}, function () {- });
},
changeDown: function () {
this.now++;
if (this.now == this.myData.length){
this.now = -1;
}
this.val=this.myData[this.now];
},
changeUp: function () {
this.now--;
if (this.now == -2){
this.now = this.myData.length - 1;
}
this.val=this.myData[this.now];
}
}
});
};
</script>
- <div id="box">
<input type="text" v-model="val" @keyup="get($event)" @keydown.down="changeDown()"
@keydown.up.prevent="changeUp()">
<ul>
<li v-for="(value,index) in myData" :class="{red:index==now}">
{{value}}
</li>
</ul>
<p v-show="myData.length==0">暂无数据...</p>
</div>
vue交互的更多相关文章
- Django与Vue交互,实现注册的图片验证码没有加载的原因
注册功能之图片验证码: 1.实现过程: 传递uuid给后端,再发送图片验证码的请求给后端,后端存储uuid并生成图片验证码保存到redis,然后将图片验证码返回给前端. 当用户输入图片验证码的时候,前 ...
- Vue 交互
- Vue与原生APP的相互交互
现在好多APP都采用了Hybrid的开发模式,这种模式特别适合那些内容变动更新较大的APP,从而使得开发和日常维护过程变得集中式.更简短.更经济高效,不需要纯原生频繁发布.但有利肯定有弊咯,性能方面能 ...
- vue基础学习(二)
02-01 vue事件深入-传参.冒泡.默认事件 <div id="box"> <div @click="show2()"> < ...
- vue项目 WebViewJavascriptBridge 适配android和ios
前言 最近在app 原生页面 嵌套 做Vue 的H5,混合开发,当然原生和Vue 交互方面当然用到 WebViewJavascriptBridge 这个东西啦, 当然在用到的时候也有问题,可以参考大佬 ...
- Vue1.0基础学习笔记整理
最近一直在使用Vue.js开发项目,现将在学习过程中遇到的一些学习小细节总结如下: 1.只处理单次插值,今后的数据变化就不会再引起插值更新了 <span>This will never c ...
- Laravel Mix编译前端资源
目前项目是使用的vue+laravel来写的,其中laravel和vue分别放了一个目录,但是这样有个问题,那就是vue需要经常更新,不然运行项目会经常出现各种问题,这里就看了看laravel的文档, ...
- Android原生同步登录状态到H5网页避免二次登录
本文解决的问题是目前流行的 Android/IOS 原生应用内嵌 WebView 网页时,原生与H5页面登录状态的同步. 大多数混合开发应用的登录都是在原生页面中,这就牵扯到一个问题,如何把登录状态传 ...
- vue.js事件,属性,以及交互
这是我学习vue的第二天,今天主要学习了如何利用vue阻止事件冒泡,阻止事件的默认行为,键盘事件以及如何添加class.style这些属性,以及如何利用vue来进行数据交互,利用百度的一个API来写一 ...
随机推荐
- mysql varcahr转int类型
cast(yysid as SIGNED INTEGER)
- 转载:Linux命令之查看文件占用空间大小-du,df
转载自:<du命令>-linux命令五分钟系列之三 du(disk usage),顾名思义,查看目录/文件占用空间大小 #查看当前目录下的所有目录以及子目录的大小$ du -h $ du ...
- Vue学习笔记四:跑马灯效果
目录 跑马灯原理 HTML 箭头函数 计时器 跑马灯效果 跑马灯原理 先讲讲跑马灯的原理,就是一行字,会滚动,思路是这样的,使用substring方法,一个获取字符串的第一个字,一个获取1后面所有的字 ...
- Windows 10 上编译 Hadoop
下载源码 源码下载地址(Source download):https://hadoop.apache.org/releases.html 这里以 2.9.2 为例,查看源码中的编译说明文件 BUILD ...
- 状态模式-State Pattern(Java实现)
状态模式-State Pattern 在状态模式(State Pattern)中,类的行为是基于它的状态改变的.当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类. State接口 ...
- file 自定义上传附件并展示缩略图
效果图镇楼.. 写的有点乱.上传一个实例供大家参考--附件下载地址如何下: https://files.cnblogs.com/files/fchx91/uploadFiles.rar 2019- ...
- DataTable行列转置
DataTable dtNew = new DataTable(); dtNew.Columns.Add("ColumnName", typeof(string)); ; i &l ...
- IE8 环境的 JQuery 中的 $.ajax 拒绝访问---解决方案
需求是兼容到 IE8. $.ajax 总是请求失败,直接跳转到 error 函数中,报错:拒绝访问. 网上的一些解决方法都试过了还是没有用,比如再请求之前设置 jQuery.support.cors ...
- 用SQL表达交并差操作
交-并-差的处理 SQL语言:并运算UNION,交运算INTERSECT,差运算EXCEPT 基本语法形式: 子查询{UNION [ALL] | INTERSECT [ALL] | EXPECT [A ...
- 前端node.js npm i 报错Unexpected end of JSON input while parsing near
清缓存 npm cache clean --force 重新安装 npm install