从零搭建网站(第四天)

现在已经可以按后台数据返回在前端进行遍历了,下一步做一下在左边进行筛选,来决定筛选的商品列表。这个当然可以自己来想清楚逻辑,然后拼凑代码,但我选择参考一下之前学习的两个项目:vue.js实战中的商城项目以及硅谷外卖,看高手的代码就像是跟高手交流一样可以学到别人的思路和精华。来看一下别人的筛选思路。

梁灏老师的商城思路,举品牌为例,使用map函数获取后台中的所有品牌(无重复)数组,然后在点击每个品牌时,针对性修改数组列表(使用filter函数),根据存在这个数组列表中的数据遍历,由于vue数组的响应特性,会自动修改页面。

尚硅谷的项目里没有针对商品的筛选操作,里面各种分类如"折扣","香浓甜粥"等都是写好的数据。

相比之下我们还是选择第一种思路,反正筛选条件也不是很多。我们当然可以照本宣科使用第一种思路和代码稍作修改,而且用自定义的元素进行选择页面也会好看些(html原生的输入框、按钮的样式都比较丑),但要成为优秀的软件工程师,要有自己的思路,我就用我自己的网站结构(使用多选框),每当有性别、价格、衣物类别中的选项被选择时,就使用!判断符将不符合该条件的商品剔除,当然,不能使用原生dom操作了,用vue的attr属性之类的,而且vue里的多选框用法与原生稍有不同,得使用v-model,且v-model绑定一个值和绑定几个值的表现形式又有所不同,对我这种老逼看一眼api就会了,新手还得把这些用法多练一练才会。为了模拟老板的各种奇葩需求,我还按照<200,>200<1000,>1000这三种价格在前端进行判断,这活完全可以在后端弄。还有一个要注意的事,刚开始多选框默认是都没用选中的,我们可以根据需要来默认选中它以展示数据。使用v-model以后,再使用input元素的checked属性就会失效了,估计是因为vue内部把原生的行为改写了,这时我们要设置默认多选框中默认选中的项目只需要改变如input框中v-model元素的数组值即可。

顺手改几个图片地址,不然整体看起来怪怪的。最终结果如下:

相关推荐
菜鸟一枚在这33 分钟前
深入解析设计模式之单例模式
开发语言·javascript·单例模式
CL_IN44 分钟前
企业数据集成:实现高效调拨出库自动化
java·前端·自动化
浪九天2 小时前
Vue 不同大版本与 Node.js 版本匹配的详细参数
前端·vue.js·node.js
qianmoQ3 小时前
第五章:工程化实践 - 第三节 - Tailwind CSS 大型项目最佳实践
前端·css
C#Thread3 小时前
C#上位机--流程控制(IF语句)
开发语言·javascript·ecmascript
椰果uu3 小时前
前端八股万文总结——JS+ES6
前端·javascript·es6
微wx笑3 小时前
chrome扩展程序如何实现国际化
前端·chrome
~废弃回忆 �༄3 小时前
CSS中伪类选择器
前端·javascript·css·css中伪类选择器
CUIYD_19893 小时前
Chrome 浏览器(版本号49之后)‌解决跨域问题
前端·chrome
IT、木易3 小时前
跟着AI学vue第五章
前端·javascript·vue.js