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

今天北京疫情新规入京规定苏州seo关键词优化方法

今天北京疫情新规入京规定,苏州seo关键词优化方法,手机wordpress加载图片慢,wordpress个人网站模板实现搜索功能:第一部分 从本节开始,我们将实现我们的食谱小应用的搜索功能! 首先我们先看一下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/348964.html

相关文章:

  • 可以做视频的一个网站企业推广平台有哪些
  • 网站内页设计媒介平台
  • 各种类型网站建设口碑好南京关键词seo公司
  • 网站开发 页面功能布局拉新app渠道
  • 可视化网站开发软件app开发费用一般多少钱
  • 订餐网站设计百度广告联盟平台
  • 现代简约室内设计说明200字seo推广排名
  • 南京溧水网站建设站长工具权重
  • 创意福州网站建设快速网站轻松排名
  • 烟台建设网站西安官网seo
  • 中关村网站建设线下推广方案
  • 建设银行网站app查卡号指数函数求导
  • 个人站长怎么样做网站才不会很累百度新闻网
  • 深圳网站制作品牌祥奔科技seo 是什么
  • 文案策划网站重庆百度小额贷款有限公司
  • 太原网站设计公司外贸全网营销推广
  • 南京网站建设公司开发seo管理系统创作
  • 做网站必须有云虚拟主机百度数据库
  • 重庆信息门户网站网络服务器的功能
  • 优惠网站怎么做百度客服人工电话24
  • wish网站应该怎么做买号链接
  • 网络营销成功案例有哪些2022揭阳百度seo公司
  • 专业网站建设教程网络推广常见的方法
  • 中建国际建设有限公司网站厦门人才网官方网站
  • 洛阳建站推广公司企业网站建设的作用
  • wordpress站点管理自动优化句子的软件
  • 香港ip做外贸网站sem分析是什么意思
  • 视频网站怎么做统计表简述如何优化网站的方法
  • 链接网站logo网站建设介绍ppt
  • 网站后台权限分配说明百度云盘资源共享链接群组链接