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. 【10】Cookie和Session

    一.cookie和session的介绍 cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要"保持状态",因此cookie就是在这样一个场景下 ...

  2. 洛谷 P2325 [SCOI2005]王室联邦

    简化版题意: 一个国家由\(n\)个城市组成一颗树,要将其划分为\(n\)个省 每个城市大小为\([B,3B]\),每个省有一个省会(不一定要在省内),使得每个省的所有城市到省会的路径上不能经过其他省 ...

  3. jmeter笔记(5)--参数化--CSV Data Set Config

    为了保证脚本的可移植性,我们需要把数据提取出来作为变量,变量可以分为两类: 公用变量:IP.端口.附件路径.CSV文件路径等: 测试变量:用户名.密码.用户ID.商品ID等 使用CSV Data Se ...

  4. Laravel底层实现原理系列

    Laravel 从学徒到工匠精校版 地址:https://laravelacademy.org/laravel-from-appreciate-to-artisan

  5. 如何在Linux中使用命令行卸载软件

    您可以使用“dpkg”命令来查看您的计算机,按“Ctrl + Alt + T”的所有已安装包的列表,打开一个终端窗口. 在提示符下键入以下命令,然后按Enter键.dpkg -- list 要卸载程序 ...

  6. java第一课 面向对象的编程概念

    一.什么是对象(object)? 对象是相关状态和行为的软件包. 1.现实社会的对象都有两个共同特征:状态和行为.如:狗有状态(名称,颜色,品种,饥饿)和行为(吠叫,取出,摇尾). 2.软件对象在概念 ...

  7. netty的基本介绍

    一.什么是netty?为什么要用netty netty是jboss提供的一个java开源框架,netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可用性的网络服务器和客户端程 ...

  8. 【小白学Lua】之Lua变长参数和unpack函数

    一.简介 Lua的变长参数和unpack函数在实际的开发中应用的还挺多的,比如在设计print函数的时候,需要支持对多个变量进行打印输出,这时我们就需要用到Lua中的变长参数和unpack函数了. 二 ...

  9. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server versio

    Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL ...

  10. Ubuntu 18.04 记录

    登录后死机,关机时死机的解决方法 更新内核并安装 Nvidia 显卡驱动可解决. 在内核更新为 4.15.18,Nvidia 显卡驱动为 390 时,问题解决. 使用 LiveCD 启动,然后 mou ...