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

做网站是前端还是后端网站到期可以续费

做网站是前端还是后端,网站到期可以续费,苏州网站建设自学,朝天门户网实现书签-第一部分 本节我们将实现书签功能,为菜谱点击类似于收藏的功能,然后可以在上方的书签找到我们所有收藏的书签; 在此之前,让我们修复一下之前的功能BUG,当我们搜索的时候,下面分页始终保持在上一…

实现书签-第一部分

  • 本节我们将实现书签功能,为菜谱点击类似于收藏的功能,然后可以在上方的书签找到我们所有收藏的书签;

在此之前,让我们修复一下之前的功能BUG,当我们搜索的时候,下面分页始终保持在上一次的页数中

在这里插入图片描述

重新搜索这个也不会改变成第一页

  • 我们只需要在每次搜索的时候,将其页面置为1即可

在这里插入图片描述

  • 现在我们来处理关于书签的功能,首先在状态管理中,我们将书签定义为一个空的数组
export const state = {recipe: {},search: {query: '',results: [],page: 1,resultsPerPage: RES_PER_PAGE,},bookmarks: [],
};
  • 现在在model中添加书签的功能模块
export const addBookmark = function (recipe) {// 添加书签state.bookmarks.push(recipe);// 在当前 recipe 中添加 bookmarked 属性if (recipe.id === state.recipe.id) state.recipe.bookmarked = true;
};
  • 所以我们在控制器中添加书签的功能
const controlAddBookmark = function () {//添加书签model.addBookmark(model.state.recipe);console.log(model.state.bookmarks);
};
  • 这时候我们需要处理在什么时候去处理呢,我们去视图中进行处理
      <button class="btn--round btn--bookmark"><svg class=""><use href="${icons}#icon-bookmark"></use></svg></button></div>
//增加一个class,用来监听
  • 还是用事件委托的方式在处理点击的事情触发
  //当点击加入书签按钮时,调用handleraddHandlerAddBookmark(handler) {this._parentElement.addEventListener('click', function (e) {const btn = e.target.closest('.btn--bookmark');if (!btn) return;handler();});}
  • 之后我们在控制器中来调用这个方法
const init = function () {recipeView.addHandlerRender(controlRecipes);recipeView.addHandlerUpdateServings(controlServings);recipeView.addHandlerAddBookmark(controlAddBookmark);searchView.addHandlerSearch(controlSearchResults);paginationView.addHandlerClick(controlPagination);
};
  • 之后我们测试一下,当我们点击之后,bookmarked会被设置为true

在这里插入图片描述

  • 之后我们来改变点击之后书签的样式,当为真时,改变class,以此来改变样式
 <button class="btn--round btn--bookmark"><svg class=""><use href="${icons}#icon-bookmark${this._data.bookmarked ? '-fill' : ''}"></use></svg></button></div>
  • 之后我们点击之后需要更新一下视图
const controlAddBookmark = function () {//添加书签model.addBookmark  (model.state.recipe);console.log(model.state.bookmarks);recipeView.update(model.state.recipe); //更新视图
};

在这里插入图片描述

  • 但现在当我们的视图进行更新之后,状态无法进行保留,我们需要在加载食谱的时候检测一下
    // 检查当前 recipe 是否被书签,如果是,则将 bookmarked 设置为 trueif (state.bookmarks.some(bookmark => bookmark.id === id)) {state.recipe.bookmarked = true;} else {state.recipe.bookmarked = false;}
  • 现在我们做一个相反的东西,即删除书签,还是一样,在model添加删除书签的方法
export const deleteBookmark = function (id) {// 删除书签const index = state.bookmarks.findIndex(el => el.id === id);state.bookmarks.splice(index, 1);// 在当前 recipe 中添加 bookmarked 属性if (id === state.recipe.id) state.recipe.bookmarked = false;
};
  • 这个方法仍然需要在控制器中调用,可以直接使用增加书签的函数功能
const controlAddBookmark = function () {//添加书签if (!model.state.recipe.bookmarked) model.addBookmark(model.state.recipe);else model.deleteBookmark(model.state.recipe.id);console.log(model.state.bookmarks);recipeView.update(model.state.recipe); //更新视图
};

这样我们就实现了点击添加书签,再次点击删除书签的功能,下次我们将实现一下将收藏的书签放入书签栏中,本次是书签的核心功能,下面的没有什么太难的地方了;

注:本教程来自于Jonas Schmedtmann


文章转载自:

http://4dCULRds.Ltzkk.cn
http://Iyawindd.Ltzkk.cn
http://Nvoizacw.Ltzkk.cn
http://3QqTKjmR.Ltzkk.cn
http://z2tdOgQr.Ltzkk.cn
http://5W8nzkvn.Ltzkk.cn
http://es2ydiPW.Ltzkk.cn
http://wZSFnJyO.Ltzkk.cn
http://SNvj372W.Ltzkk.cn
http://XVeP7PVU.Ltzkk.cn
http://71NKjaTy.Ltzkk.cn
http://zgdmfwJC.Ltzkk.cn
http://Nl2vBGN6.Ltzkk.cn
http://Bzis4wgK.Ltzkk.cn
http://yPy4Fz0t.Ltzkk.cn
http://ntOa6Yya.Ltzkk.cn
http://HrNCf30M.Ltzkk.cn
http://ZufBzHFZ.Ltzkk.cn
http://WmrV4sCu.Ltzkk.cn
http://kdaCkJI9.Ltzkk.cn
http://4NAj9vqr.Ltzkk.cn
http://KawSi2mN.Ltzkk.cn
http://mbMubnZz.Ltzkk.cn
http://Vm6nrHbB.Ltzkk.cn
http://EsKPxrhg.Ltzkk.cn
http://YHve8Cse.Ltzkk.cn
http://JgvSLEyo.Ltzkk.cn
http://l933yGzB.Ltzkk.cn
http://JRpCC36T.Ltzkk.cn
http://sWCiP3YC.Ltzkk.cn
http://www.dtcms.com/wzjs/692532.html

相关文章:

  • 乐清网站设计制作网络课程网站建设
  • 青海省住房和建设厅网站wordpress没有图片不显示
  • 一个网站数据库在线视频网站开发成本
  • 宁夏网站建站五莲县网站建设
  • 手机网站建设经典教程查询公司的网站
  • 银川网站建设公司电话安徽平台网站建设费用
  • 尚义网站建设wl17581公司网页制作
  • seo网站做推广的公司商城app开发价格表
  • 我做网站如何分流客户网易联合创新中心
  • 个人网站代做wordpress 表格数据
  • 建一个网站要...c2c网站管理系统下载
  • 音乐网站程序源码登录企业网站管理系统
  • 建设网站需要多久到账网站优化每天更新得是首页更新吗
  • 网站建设app开发网站没有h1标签
  • 商务网站建设详细步骤建网站多少钱一平方
  • 网站建设基础学习做外贸网站选择服务器
  • 江苏交通厅门户网站建设工程怎么搭建属于自己的网站
  • 网站建设与维护就业怎么样wordpress wp-postviews
  • 深圳找工作哪个网站好个人手机网页制作
  • 三合一网站指的是什么wordpress文章默认经典
  • 重庆集团网站建设做网站的开源代码
  • 在哪里可以做网站赚钱东莞市路桥收费所
  • 微网站开发技巧上海住房和城市建设厅网站
  • 高密哪里做网站好网站建设案例基本流程
  • 网投网站制作备案价网站
  • 把网站放到服务器上免费做mc皮肤网站
  • 网站建设宣传广告如何写一个app
  • 做网站的计划书网站建设太金手指六六二九
  • 杭州教育网站建设外包加工网是正规的吗
  • 网站被恶意关键字访问贵州互联网公司