而展示的验证结果则是符合prd或者交互ui的要求,达到美观整洁大方与代码端表现一致即可。主要涉及的html和css的相关知识。
交互
交互体验可以说是一种见仁见智的东西,在业务流程的基本上,满足大多数人的操作习惯即可。尽量不要出现反人类的操作。
但在交互上前端往往需要考虑的更多,类似于对一些不可逆的操作,前端需要利用来防止用户的手滑等等,比如退款,删除等等。
- 二次确认
- 重复提交
- 异常提示(无权限,无数据)
- 默认值
…
等等
验证标准
交互的验证结果则是符合大多数用户的习惯,以及考虑到多种操作情况会造成的影响,从而在交互设计前就进行规避。
校验
第三点:校验,校验是为了保证前端数据的准确性。往往后台需要和前端一起进行对数据的校验,这样有了双重保险后,调用接口等。
校验的方式,一般分为两种,第一种是将需要校验的数据逐个击破,另一种则是为整体校验,对整个进行提交的数据组进行校验。
逐个击破校验
在双向绑定的背景下,数据单元也绑定了一个独一的控件,以数据单元为单位进行校验,最简单的就是if语句了
if(a!=1){
//校验不通过
console.log("a不是1")
}
整体处理校验
利用class的思想,将json转化为可以进行校验的class 对其中的属性进行校验,利用注释校验的方法对字段进行规定预设,从而进行整体校验。
权限
而校验不仅仅可以对于数据,也可以对于权限。
权限可以简单概括为三种:
- 操作权限
- 数据权限
- 显示权限
操作权限
常规的情形是:班主任可以审批学生请假而任课老师不可以。
假设我们的请假申请是一个按钮,其中包含了 一个审批请假的方法。
则任课老师不应该看到这个操作按钮,或者进行操作后不可以执行这个方法。
<button click="spqj()">审批请假</button>
按钮隐藏
<button click="spqj()" \*ngIf="role=='班主任'">审批请假</button>
方法跳出
spqj(){
if(role!='班主任'){
consloe.log("您不是班主任 不能进行审批操作")
return
}
}
数据权限
对于数据权限来说,继续类比学校的例子:任课老师可以看到其任课的作业列表,而班主任可以看到所有的作业列表。
假设作业列表是一个接口,接口在不同的入参返回不同的数据,一般是由后台进行数据权限的限制。但如果某些情况下需要前端进行数据权限的限制,则需要把数据源进行二次筛选处理。
var fooMath = foo.filter(
function(item) {
return item.type=='数学'
}
);
### 刷面试题
刷题的重要性,不用多说。对于应届生或工作年限不长的人来说,刷面试题一方面能够尽可能地快速自己对某个技术点的理解,另一方面在面试时,有一定几率被问到相同或相似题,另外或多或少也能够为自己面试增加一些自信心,可见适当的刷题是很有必要的。
* **前端字节跳动真题解析**

* **【269页】前端大厂面试题宝典**

最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。大厂面试远没有我们想的那么困难,摆好心态,做好准备,你也可以的。
**开源分享:https://docs.qq.com/doc/DSmRnRGxvUkxTREhO**