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交互的更多相关文章

  1. Django与Vue交互,实现注册的图片验证码没有加载的原因

    注册功能之图片验证码: 1.实现过程: 传递uuid给后端,再发送图片验证码的请求给后端,后端存储uuid并生成图片验证码保存到redis,然后将图片验证码返回给前端. 当用户输入图片验证码的时候,前 ...

  2. Vue 交互

  3. Vue与原生APP的相互交互

    现在好多APP都采用了Hybrid的开发模式,这种模式特别适合那些内容变动更新较大的APP,从而使得开发和日常维护过程变得集中式.更简短.更经济高效,不需要纯原生频繁发布.但有利肯定有弊咯,性能方面能 ...

  4. vue基础学习(二)

    02-01  vue事件深入-传参.冒泡.默认事件 <div id="box"> <div @click="show2()"> < ...

  5. vue项目 WebViewJavascriptBridge 适配android和ios

    前言 最近在app 原生页面 嵌套 做Vue 的H5,混合开发,当然原生和Vue 交互方面当然用到 WebViewJavascriptBridge 这个东西啦, 当然在用到的时候也有问题,可以参考大佬 ...

  6. Vue1.0基础学习笔记整理

    最近一直在使用Vue.js开发项目,现将在学习过程中遇到的一些学习小细节总结如下: 1.只处理单次插值,今后的数据变化就不会再引起插值更新了 <span>This will never c ...

  7. Laravel Mix编译前端资源

    目前项目是使用的vue+laravel来写的,其中laravel和vue分别放了一个目录,但是这样有个问题,那就是vue需要经常更新,不然运行项目会经常出现各种问题,这里就看了看laravel的文档, ...

  8. Android原生同步登录状态到H5网页避免二次登录

    本文解决的问题是目前流行的 Android/IOS 原生应用内嵌 WebView 网页时,原生与H5页面登录状态的同步. 大多数混合开发应用的登录都是在原生页面中,这就牵扯到一个问题,如何把登录状态传 ...

  9. vue.js事件,属性,以及交互

    这是我学习vue的第二天,今天主要学习了如何利用vue阻止事件冒泡,阻止事件的默认行为,键盘事件以及如何添加class.style这些属性,以及如何利用vue来进行数据交互,利用百度的一个API来写一 ...

随机推荐

  1. Oracle查询所有表的字段明细

    SELECT USER_TAB_COLS.TABLE_NAME as 表名, UTC.COMMENTS as 表中文名, USER_TAB_COLS.COLUMN_ID as 列序号, USER_TA ...

  2. python经典例题100题01

    [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? ans = [i*100+j*10+k for i in range(1, 5) for j in ra ...

  3. CF5E 【Bindian Signalizing】

    题意 \(n\)座山组成一个环,相连的圆弧上其他山它们高那么这两座山能互相看到,求能看到的山的组数. 题解 设\(left[i]\)表示左边第一个比\(i\)高的位置,同理\(right[i]\)表示 ...

  4. BZOJ2839 集合计数 容斥

    题目描述(权限题qwq) 一个有N个元素的集合有2^N个不同子集(包含空集),现在要在这2^N个集合中取出若干集合(至少一个),使得 它们的交集的元素个数为K,求取法的方案数,答案模100000000 ...

  5. java 判断语句和循环语句

    一.判断语句:if和switch if(关系表达式1) { 语句体1; }else if (关系表达式2) { 语句体2; }…else { 语句体n+; } switch(表达式) { case 值 ...

  6. 二、docker的安装和基本命令

    一.docker的安装 1.安装依赖 # yum install -y yum-utils device-mapper-persistent-data 2.设置yum源 # yum-config-ma ...

  7. MyISAM与InnoDB的区别是什么?

    1. 存储结构 MyISAM:每个MyISAM在磁盘上存储成三个文件.第一个文件的名字以表的名字开始,扩展名指出文件类型..frm文件存储表定义.数据文件的扩展名为.MYD (MYData).索引文件 ...

  8. 模仿OpenStack写自己的RPC

    在openstack中使用两种通信方式,一种是Restful API,另一种是远程过程调用RPC.本片文章主要讲解openstack中RPC的使用方式,以及如何在我们自己的架构中使用RPC. 在我前面 ...

  9. Java线程池源码解析

    线程池 假如没有线程池,当存在较多的并发任务的时候,每执行一次任务,系统就要创建一个线程,任务完成后进行销毁,一旦并发任务过多,频繁的创建和销毁线程将会大大降低系统的效率.线程池能够对线程进行统一的分 ...

  10. Visual Studio 使用 Web Deploy 发布远程站点

    Ø  简介 本文介绍 Visual Studio 如何使用 Web Deploy发布远程站点,有时候我们开发完某个功能时,需要快速将更改发布至服务器.通常 Visual Studio 可以采用两种方式 ...