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

任县网站建设设计引擎搜索

任县网站建设设计,引擎搜索,中国风网站欣赏,给自己的公司做网站怎么做好目前我们上传菜谱大部分的功能都已经实现了,但是还缺少两个部分的功能; 第一个是当我们上传一个菜谱的时候,我们需要重新渲染一下书签的视图;第二个是当我们上传一个菜谱的时候,我们需要改变URL中的ID部分 首先我们在…

目前我们上传菜谱大部分的功能都已经实现了,但是还缺少两个部分的功能;

  1. 第一个是当我们上传一个菜谱的时候,我们需要重新渲染一下书签的视图;
  2. 第二个是当我们上传一个菜谱的时候,我们需要改变URL中的ID部分

首先我们在添加新菜谱之前重新渲染一下书签视图

  • 首先我们在添加新菜谱之前重新渲染一下书签视图
//渲染菜谱recipeView.render(model.state.recipe);//成功消息addRecipeView.renderMessage();//重新渲染书签视图addRecipeView.render(model.state.bookmarks);//关于表单窗口
  • 现在我们来在URL上改变ID
//在URL上改变IDwindow.history.pushState(null, '', `#${model.state.recipe.id}`);

这两部弄完之后,我们先不用去测试,因为问题应该不大,首先我们来看一下帮助文件中的代码

  • 这两部弄完之后,我们先不用去测试,因为问题应该不大,首先我们来看一下帮助文件中的代码

在这里插入图片描述

这里有没有方法,这两个方法十分的相似,我们这里来重构一下

  • 这里有没有方法,这两个方法十分的相似,我们这里来重构一下

export const AJAX = async function (url, uploadData = undefined) {try {const fetchPro = uploadData? fetch(url, {method: 'POST',headers: {'Content-Type': 'application/json',},body: JSON.stringify(uploadData),}): fetch(url);const res = await Promise.race([fetchPro, timeout(TIMEOUT_SEC)]);const data = await res.json();if (!res.ok) throw new Error(`${data.message} (${res.status})`);return data;} catch (err) {throw err;}
};
  • 修改之后的话引入的方法就要改变,然后把引入的方法变量改动一下,主要再model里面,这里就不在演示了

import { AJAX } from './helpers.js';
  • 现在我们来测试一下

在这里插入图片描述

在这里插入图片描述

现在我们来处理一下关于用户图片的事情,我们想要用户自己上传的菜谱可以显示图标,系统自带的图片不显示

  • 现在我们来处理一下关于用户图片的事情,我们想要用户自己上传的菜谱可以显示图标,系统自带的图片不显示

_generateMarkup() {const id = window.location.hash.slice(1);//this._data是搜索到的数据return `   <li class="preview"><a class="preview__link ${this._data.id === id ? 'preview__link--active' : ''}" href="#${this._data.id}"><figure class="preview__fig"><img src="${this._data.image}" alt="${this._data.title}" /></figure><div class="preview__data"><h4 class="preview__title">${this._data.title}</h4><p class="preview__publisher">${this._data.publisher}</p>           <div class="preview__user-generated ${this._data.key ? '' : 'hidden'}"><svg><use href="${icons}#icon-user"></use></svg></div></div></a></li>`;}
}
  • 菜谱视图也是一样的
                <svg><use href="${icons}#icon-plus-circle"></use></svg></button></div></div><div class="recipe__user-generated ${this._data.key ? '' : 'hidden'}"><svg><use href="${icons}#icon-user"></use></svg></div><button class="btn--round btn--bookmark"><svg class=""><use href="${icons}#icon-bookmark${this._data.bookmarked ? '-fill' : ''}"></use></svg></button></div>

在这里插入图片描述

在这里插入图片描述

注意,想要搜索到自己添加的数据,需要再model的搜索中添加key

  • 注意,想要搜索到自己添加的数据,需要再model的搜索中添加key

export const loadSearchResults = async function (query) {try {state.search.query = query;const data = await AJAX(`${API_URL}?search=${query}&key=${KEY}`);console.log(data);
  • 为了使得侧边菜谱列表中也展现图片,我们需要再加搜索结果的时候也传入key,用来识别一下是否是用户传入的
state.search.results = data.data.recipes.map(rec => {return {id: rec.id,title: rec.title,publisher: rec.publisher,image: rec.image_url,...(rec.key && { key: rec.key }),};});

在这里插入图片描述

由于我们对表单内容做了replaceALL处理,所以可能一些成分的空格都会删除,我们来快速解决这个问题

  • 由于我们对表单内容做了replaceALL处理,所以可能一些成分的空格都会删除,我们来快速解决这个问题
export const uploadRecipe = async function (newRecipe) {try {const ingredients = Object.entries(newRecipe).filter(entry => entry[0].startsWith('ingredient') && entry[1] !== '').map(ing => {const ingArr = ing[1].split(',').map(el => el.trim());if (ingArr.length !== 3)throw new Error('填写的格式有误,请按照格式填写 重量, 单位, 描述');const [quantity, unit, description] = ingArr;return { quantity: quantity ? +quantity : null, unit, description };});

在这里插入图片描述

至此,我们这个项目就结果了,无疑这个项目对一个新手来说是有些吃力,里面汇聚了关于JavaScript大量的知识点,但是你还是完成了,注意,这个项目由jona开发的,只作为学习使用

http://www.dt0577.cn/news/29784.html

相关文章:

  • 网页链接提取长沙网站推广和优化
  • 北京朝阳双桥网站建设襄阳网站推广优化技巧
  • 手机版网站有必要吗吉林百度查关键词排名
  • 兰州市住房保障和城乡建设局网站百度最新版下载
  • 大连零基础网站建设培训班济南谷歌推广
  • 企业网站网页打开慢百度seo排名点击
  • 网站开发网站有哪些广州百度网站快速排名
  • 太平洋手机官网报价大全seo数据
  • wordpress 未分类成都搜索优化整站优化
  • 西安市住房和城乡建设委员会网站百度竞价排名是什么方式
  • 响应式网站自助建站怎么把自己的网站发布到网上
  • 自己做的网站怎样让百度搜到惠州seo快速排名
  • 自己做的网站不显示图片sem竞价代运营
  • 公司网站发展策划书拼多多女装关键词排名
  • 北京响应式网站建设友情链接价格
  • 如何优化网站内部链接关键字是什么意思
  • wordpress函数手册 pdf名片seo什么意思
  • 行业网站排名优化营商环境条例解读
  • 网站推广到海外怎么做seo优化文章网站
  • 广西茶叶网站建设电商培训视频教程
  • 做旅游宣传图的网站交换链接名词解释
  • 网站制作厂家电话多少seo怎么发布外链
  • 装饰公司做网站宣传的是个好处超级外链在线发布
  • 简要说明网站建设的基本流程免费发链接的网站
  • 聊城做网站的公司价格网络快速推广渠道
  • 怎么做打赏看视频的网站推广广告
  • 做网站简单需要什么软件网站排名优化怎样做
  • 网站建设人员武汉seo招聘信息
  • 莱芜网络推广专家win7优化工具
  • 网络网站如何推广免费外链网盘