vue-resource使用 (vue仿百度搜索)

1.this.$http.get()方法
2.this.$http.post()方法
3.this.$http.jsonp()方法

(vue仿百度搜索)

在输入框中输入a, 然后在百度f12 ==> network ==> 复制js

https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=a&json=1&p=3&sid=1440_25548_21098_20719&req=2&csor=1&cb=jQuery1102032174500415831986_1516022014624&_=1516022014630
整理下
https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=a&cb=jshow

HTML

<div id="app">
    <!-- v-model绑定数据, @keyup事件 -->
    <input type="text" v-model="keyword"  @keyup="get($event)" @keydown.down.prevent="changeDown()"  @keydown.up.prevent="changeUp()">
    <ul>
        <!-- v-for循环数据, v-bind:class="{gray:index==now}, 当前下标为true时显示灰色" -->
        <li v-for="(value, index) in myData" v-bind:class="{gray:index==now}">{{value}}</li>
    </ul>
    <!-- 判断length当数据为空时 -->
    <p v-show="myData.length==0">暂无数据...</p>
</div>

VUE.JS

new Vue({
    el: "#app",
    data: {
        myData:[],      // 循环数据
        keyword:"",     // 输入文本值
        now: -1         // 索引
    },

    methods:{
        // jshow({q:"a",p:false,s:["爱奇艺","阿里云","阿里巴巴","安居客","阿里巴巴批发网","爱情公寓","安卓模拟器","acfun","apple","暗黑3"]});
        get: function(ev){
            if(ev.keyCode == 38 || ev.keyCode == 40){
                return false;
            }
            if(ev.keyCode == 13){
                window.open("https://www.baidu.com/s?wd=" + this.keyword);
            }
            // jsonp获取百度的搜索关键字
            this.$http.jsonp("https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd=" + this.keyword + "",{
                jsonp:"cb"          // callback函数名
            }).then(function(res){
                this.myData = res.data.s;       // 存入搜索数据
            }, function(){
                console.log(res.status)
            })
        },
        // 键盘下拉事件
        changeDown: function(){
            this.now++;
            if(this.now == this.myData.length){
                this.now = -1;
            }
            this.keyword = this.myData[this.now];       // 赋值是文本框
        }, 

        // 键盘上拉事件
        changeUp: function(){
            this.now--;
            if(this.now == -1){
                this.now = this.myData.length-1;
            }
            this.keyword = this.myData[this.now];       // 赋值是文本框
        },
    }
})

原文地址:https://www.cnblogs.com/alantao/p/8290247.html

时间: 2024-08-29 15:05:47

vue-resource使用 (vue仿百度搜索)的相关文章

angular的仿百度搜索功能

尝试一下调用百度的搜索功能,这部分主要是练习$http. 首先HTML部分: <div ng-app="myApp" ng-controller="Aaa""> <input type="text" ng-model="name" ng-keyup="change(name)" placeholder="请输入搜索内容">//内容的搜索框 <inp

仿百度搜索提示框效果

<!doctype html><html><head> <meta charset="UTF-8"> <title>百度搜索提示框</title> <style> * { margin: 0;padding: 0; outline: none;} .search101 { width: 650px; margin: 300px auto; font-size: 0; } .sou1 { width: 5

仿百度搜索(AJAX)

<h1>百度搜索</h1><!--建立一个DIV,其中包括一个文本输入框和一个按钮--><div id="sousuo"> <input type="text" id="txt"/><input type="button" id="btn" value="搜索" /> <!--再建一个DIV用于显示关键字查询出

仿百度搜索,匹配历史搜索

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no"> <title>历史搜索</title> <script type="text

js搜索框 js仿百度搜索 js下拉框 jQuery.Autocomplete使用

做了一个网站,需要根据文本框的输入模糊搜索数据库内容给出提示供用户选择,就找到了jQuery.Autocomplete 效果如下图: 该插件托管在github上,具体地址:https://github.com/agarzola/jQueryAutocompletePlugin 官方的英文文档:http://api.jqueryui.com/autocomplete/ 在使用过程中遇到大坑跟大家说一下. 第一个是插件的数据源问题! 如果要使用服务器的数据源需要在调用autocomplete的时候传

仿百度搜索功能

/** *鼠标选中某个li方法 *1.参数obj:this */function ulLiText(obj) {    //检索条件可按名称字母查询    $("#nameZm").val($(obj).text());    //调用省级列表    getAreaList();    //隐藏检索信息    $("#carName").hide();} //显示背景颜色 $('#carName ul li').mouseover(function () {    

ashx仿百度搜索的自动下拉列表

制作环境是在c#中 先是前台页面,可以是aspx也可以是html页面,这就是ashx的好处 代码: 1 <div> 2 <input type="text" id="search" onkeyup="SearchTo()" /><input type="button" value="查询" /><br /> 3 <div id="search_

jquery 仿百度搜索下拉框的插件

转载地址:http://www.open-open.com/lib/view/open1420624048437.html 今天写了个下拉插件分享出来 效果: , 可以搜素,也可以使用上下键选择匹配出来的值 css 1 .select4_box { 2 border: 1px solid #5897fb; 3 position: absolute; 4 width: 250px; 5 background: #fff; 6 border-radius: 4px; 7 -webkit-box-sh

使用Jquery UI 高仿百度搜索下拉列表功能

最近项目有个需求,在新添加商户的时候,用户输入商户名称后,如果系统中有类似的商户名称,直接显示出来,如下图的效果: 实现这个功能,直接使用了JQuery UI 插件 目前我使用的实现版本是: 网友可以自行下载好js文件,css文件,放在你项目可以访问到位置就可以了. 引入这些文件之后,你就可以复制使用下面的页面来测试(注意引用文件的路径): <!doctype html><html lang="en"><head> <meta charset=