本文主要介绍了如何在Vue框架中实现一个仿百度搜索的功能,通过结合Vue.js和vue-resource库,模拟百度搜索接口并动态加载搜索结果。以下是详细的实现步骤和关键代码片段。 首先,确保已引入Vue.js和vue-resource脚本。这两个库分别为Vue的核心库和用于处理Ajax请求的插件,这对于异步数据获取至关重要。在HTML的`<head>`部分,添加了以下代码: ```html <script src="../js/Vue.js"></script> <script src="../js/vue-resource.js"></script> ``` 接着,在`<body>`中,我们定义了一个Vue实例,并将其挂载到id为"box"的元素上。在这个实例中,我们设置了两个属性:`myData`用于存储搜索结果,初始为空数组;`t1`是用户输入框的值,通过`v-model`指令与输入框绑定,当用户输入变化时触发`get`方法: ```html <div id="box"> <input type="text" v-model="t1" @keyup="get()"> <ul> <li v-for="value in myData">{{value}}</li> </ul> <p v-show="myData.length == 0">暂无数据</p> </div> ``` `get`方法是定义在Vue实例的方法中,它利用`$http.jsonp`来发起一个JSONP请求,这是因为百度搜索API不支持普通的Ajax请求,而是采用JSONP作为跨域解决方案。这个方法接收一个URL,用户输入的关键词(`wd`),以及一个回调函数名(这里设置为`cb`): ```javascript methods: { get: function() { this.$http.jsonp('https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su', { wd: this.t1 }, { jsonp: 'cb' // 使用cb作为回调函数名 }).then(function(res) { this.myData = res.data.s; // 将搜索结果存储在myData中 }, function() { // 处理请求失败的情况 }); } } ``` 当用户在输入框中输入内容并按下回车键,`get`方法会被调用,请求百度搜索接口,获取相关数据。返回的结果被存储在`myData`数组中,然后通过`v-for`指令渲染到`<li>`列表中。如果搜索结果为空,`v-show`指令会显示"暂无数据"提示。 整个过程展示了如何利用Vue的响应式特性、数据绑定和异步请求,实现一个简单的搜索功能,与百度搜索类似的效果。这不仅适用于百度搜索,其他支持JSONP的API也可以采用类似的方法进行集成。对于初学者来说,这是一个实用且易于理解的Vue项目示例。
![](https://csdnimg.cn/release/download_crawler_static/12786083/bg1.jpg)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
- 粉丝: 10
- 资源: 925
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- GO婚礼设计创业计划:技术驱动的婚庆服务
- 微信行业发展现状及未来发展趋势分析
- 信息技术在教育中的融合与应用策略
- 微信小程序设计规范:友好、清晰的用户体验指南
- 联鼎医疗:三级甲等医院全面容灾备份方案设计
- 构建数据指标体系:电商、社区、金融APP案例分析
- 信息技术:六年级学生制作多媒体配乐古诗教程
- 六年级学生PowerPoint音乐动画实战:制作配乐古诗演示
- 信息技术教学设计:特点与策略
- Word中制作课程表:信息技术教学设计
- Word教学:制作课程表,掌握表格基础知识
- 信息技术教研活动年度总结与成果
- 香格里拉旅游网设计解读:机遇与挑战并存
- 助理电子商务师模拟试题:设计与技术详解
- 计算机网络技术专业教学资源库建设与深圳IT产业结合
- 微信小程序开发:网络与媒体API详解
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)