面试遇到的问题,面试之后,感觉十分好奇,请教各位?

考官问我做的前端页面是组件切换还是跳转的页面。举个例子,比如一个 类似淘宝“个人中心” 页面上,可以选择不同的订单状态的tab,点击就会进入订单列表页面,这样的页面是直接用一个页面然后切换状态显示还是直接两个不同的页面呢?

我回答是两个页面,因为我觉得两个页面的内容都不一样,也符合跳转的逻辑。但是面试官明显的失望了,所以我后来琢磨是不是写成一个页面然后切换状态体验比较好,而且不用传递订单的状态参数过去呢?具体有什么原因呢?我想起来京东也是做成切换的,他的商品分类页面的搜索框,点击搜索框会切换到搜索页面,实际上是一个页面在切换状态显示不同的内容,这么做的意义是什么呢

如果说做成一个页面切换显示,那么就是单纯的v-if切换吗(我使用的是vue)

阅读 3.7k
6 个回答

单独从京东的搜索界面来说。

大部分情况下搜索界面的内容不是很复杂,基本就是一个input,一些搜索记录和热搜的 item ,为页面加载不会带来太大的鸭梨,而且,一般搜索记录是本地存储,可以优先读入,提升用户体验,搜索记录是 ajax 后端读取,即使预读也不会有太多的鸭梨,这些都是可以用 Redis 做到缓冲,而且 搜索相对于用户体验体验来说,也应该是点击就能出现的,所以做成一个 图层 我觉得没什么问题,是一个比较好的设计。即使在 wap 2.0 时代,搜索只是嵌入在页面亦是如此,点击即可输入进行操作。

至于题干中的 个人中心 > 订单列表,无论从项目设计还是实践来说,都应该采用分页面的方式,当然现在的单页用了 router 后,只要后端不拖后腿(你可以提前预读),页面载入也是很快的,对用户体验基本造成不了太大的影响,但是如果这两个页面混合在一起,那么对于相对来说,页面层级混乱,不容易管理。
如果单从开发来说,如果你对组件分割能够游刃有余,那也不是问题,直接做进去也是完全可以的,但是违背开发原则。

从面试的角度来讲,或许对方更想考察你对不同业务环境下该采用什么样的方式方法来处理问题是关键的,其次,因为这些不成定性的东西,大家基本都是按照自己第一感去处理,如果你能说服他,或者达成某些共识,在一定程度上还可以为自己加分。

面试官可能想考考你对于双向数据绑定和单页面应用的理解吧,至于哪种方式更好,我觉得没有肯定的结论,还是要跟具体业务挂钩

既然使用vue了 那就更倾向于单页面应用 基本就没有跳转页面这一说了 当然类似淘宝那样的网站肯定单页面应用不是太好 但是类似那种功能还是切换体验好一点 特别那种频繁切换的 比如点赞

新手上路,请多包涵

vue单页面应用例如你说的订单状态 ,订单状态分为很多种,但是同属于一个分类下,即一个路由下显示,所以切换显示会对项目的结构分类比较友好,容易维护。

新手上路,请多包涵

在单页面应用中,前端页面基本上是组件切换, 主要分为业务操作组件和页面级组件, 即便是切换路由也只是页面级组件的变化, 并没有实现真正的页面跳转

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题