当前位置: 首页 > wzjs >正文

今天北京疫情新规入京规定seo排名优化软件有用吗

今天北京疫情新规入京规定,seo排名优化软件有用吗,百度优化服务,农村创业的好项目实现搜索功能:第一部分 从本节开始,我们将实现我们的食谱小应用的搜索功能! 首先我们先看一下API文章,用什么样的方法来获取全部的食谱的 所以我们按照这个文章先写一个函数,这个函数主要是一个AJAX请求,然…

实现搜索功能:第一部分

从本节开始,我们将实现我们的食谱小应用的搜索功能!

  • 首先我们先看一下API文章,用什么样的方法来获取全部的食谱的

在这里插入图片描述

  • 所以我们按照这个文章先写一个函数,这个函数主要是一个AJAX请求,然后来测试一下返回数据是否正常,然后再看一下我们想要去获取哪些数据;
export const loadSearchResults = async function (query) {try {const data = await getJSON(`${API_URL}?search=${query}`);console.log(data);} catch(err) {console.error(`${err}😰😰😰`);throw err;}
};
loadSearchResults('pizza');

在这里插入图片描述

  • 看来请求并没有什么问题,现在我们就要想办法将这些数据存起来,用什么存呢,肯定用数组在存放,那存放在哪里呢,记不记得之前的state了。我们需要将所有的数据都存储到这里面;
export const state = {recipe: {},search: {query: '',results: [],},
};
  • 现在我们将所有的食谱数据都存起来,然后的话再来测试一下
export const loadSearchResults = async function (query) {try {state.search.query = query;const data = await getJSON(`${API_URL}?search=${query}`);console.log(data);state.search.results = data.data.recipes.map(rec => {return {id: rec.id,title: rec.title,publisher: rec.publisher,image: rec.image_url,};});console.log(state.search.results);} catch (err) {console.error(`${err}😰😰😰`);throw err;}
};
loadSearchResults('pizza');

在这里插入图片描述

  • 测试成功之后,我们在控制器中将功能进行调用
const controlSearchResults = async function () {try {await model.loadSearchResults('pizza');console.log(model.state.search.results);} catch (err) {console.log(err);}
};
controlSearchResults();
  • 为什么遵循MVC架构,将DOM页面上的操作我们将不在控制器上面进行操作,所以我们单独的创建一个搜索的视图文件。文件简单的一些选择器和监听事件
class SearchView {#parentEl = document.querySelector('.search');getQuery() {return this.#parentEl.querySelector('.search__field').value;}
}export default new SearchView();
  • 接着我们在控制器里进行引入
import searchView from './view/searchView.js';
  • 接着我们将输入框中提交保存到一个变量中
const controlSearchResults = async function () {try {const query = searchView.getQuery();if (!query) return;await model.loadSearchResults('pizza');console.log(model.state.search.results);} catch (err) {console.log(err);}
};
  • 这里我们接着用之前说的发布者订阅者的模型来实现用户提交搜索之后的方法;
class SearchView {#parentEl = document.querySelector('.search');getQuery() {return this.#parentEl.querySelector('.search_field').value;}addHandlerSearch(handler) {this.#parentEl.addEventListener('submit', function (e) {e.preventDefault();handler();});}
}
  • 和之前一样,我们需要在init中调用一下
const init = function () {recipeView.addHandlerRender(controlRecipes);searchView.addHandlerSearch(controlSearchResults);
};init();
  • 现在应该是可以了,我们尝试一下

在这里插入图片描述

  • 在尝试一下其他的

在这里插入图片描述

  • 现在我们在每次输入之后清楚一下搜索框的内容
  getQuery() {const query = this.#parentEl.querySelector('.search__field').value;this.#clearInput();return query;}#clearInput() {this.#parentEl.querySelector('.search__field').value = '';}
  • 这里就不在进行测试了,尝试一下之后发送提交数据之后搜索框中的文件就会被清除;

第一部分到这里基本上就结束了,第二部分我们会将所有的搜索结果渲染到页面的侧边栏中!

http://www.dtcms.com/wzjs/38541.html

相关文章:

  • 企业建站公司哪里找免费推广
  • 百度做鸡网站微信推广平台
  • 自己做的网站如何加视频专业网站优化
  • 做明星网站关键词代发排名
  • 教做凉拌菜的视频网站东莞百度推广优化排名
  • 12306网站建设投标书百度手机助手下载苹果版
  • 做个网站需要多少钱.乐天seo培训
  • 建网站要多少钱 东莞企业网站开发
  • 做游戏任务赚钱的网站有哪些seo文章是什么
  • 网站动态图是怎么做的百度手机卫士下载安装
  • 百度云官网长沙网站seo服务
  • 网站建设个人网站外贸网站推广服务
  • 广州建设网站技术网络营销的方法
  • 哪里建设品牌网站百度域名收录提交入口
  • 企业模板网站怎么做南昌seo排名扣费
  • 学做网站知识有哪些网页设计公司
  • 绵阳网站建设软件有哪些百度极速版app下载安装挣钱
  • 网站开发公司官网产品推广文案怎么写
  • 动易网站后台搜狗推广登录平台官网
  • 模板网站制作windows优化大师是官方的吗
  • 做网站需要字体切换网站排名优化+o+m
  • 建晨网站建设有限公司百度手机端排名如何优化
  • 做网站怎样建立服务器今天特大军事新闻
  • 网站首页制作公司百度站长社区
  • 中国上海门户网站搜索词热度查询
  • asp学习网站新媒体运营岗位职责
  • 软件开发的环节有哪些杭州seo平台
  • 做网站流程网络营销的成功案例
  • 做直播网站的上市公司国外免费建站网站
  • 会所网站建设新闻头条今日要闻军事