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来写一 ...
随机推荐
- pycharm failed to create JVM
启动的时候,出现这个error: 解决办法: 如果电脑安装的jdk是64位,找到pycharm的安装目录下的bin目录下的pycharm64.exe.vmoptions文件修改以下值, 如果是32位, ...
- BZOJ2300[HAOI2011]防线修建——非旋转treap+凸包(平衡树动态维护凸包)
题目描述 近来A国和B国的矛盾激化,为了预防不测,A国准备修建一条长长的防线,当然修建防线的话,肯定要把需要保护的城市修在防线内部了.可是A国上层现在还犹豫不决,到底该把哪些城市作为保护对象呢?又由于 ...
- 【CF1146】Forethought Future Cup - Elimination Round
Forethought Future Cup - Elimination Round 窝也不知道这是个啥比赛QwQ A. Love "A" 给你一个串,你可以删去若干个元素,使得最 ...
- 几道c/c++练习题
1.以下三条输出语句分别输出什么?[C易] char str1[] = "abc"; char str2[] = "abc"; const char str3[ ...
- 第一模块:Python基础(二)
目录 1.变量 常量 2.用户交互和注释 程序交互 注释 字符串 布尔型(bool) 格式化输出 运算符 while 循环 @(开发基础) 1.变量 变量用于存储要在计算机程序中引用和操作的信息.它们 ...
- Java复习总结——String
概览 String被声明为final,因此它不可被继承. public final class String implements java.io.Serializable, Comparable&l ...
- JS学习笔记Day26
一.什么是设计模式? (一)设计模式(Design Pattern)是一套被反复使用.多数人知晓的.经过分类的.代码设计经验的总结. 二.单例模式 (一) 概念:单个实例,只有一个对象,多次创建,返回 ...
- 七.django模型系统(一)
Ⅰ.django的ORM 1.含义 对象关系映射(英语:(Object Relational Mapping,简称ORM,或O/RM,或O/R mapping),是一种程序技术,用于实现面向对象编程语 ...
- [面试] Java GC (未整理完)
Java GC简介 什么是 GC ? Java程序不用像C++程序在程序中自行处理内存的回收释放.这是因为Java在JVM虚拟机上增加了垃圾回收(GC)机制,用以在合适的时间触发垃圾回收. 你都了解哪 ...
- windows bat 批处理 执行 for 循环无法执行?
示例: cmd 命令行可以执行.但是 写成 bat 却不能执行, for /f "delims==" %a in ('dir /b /s F:\F\*.TXT')do copy ...