青云笔试题的思路
来源:互联网 发布:java的四大特性 编辑:程序博客网 时间:2024/05/17 07:50
青云笔试题的思路
step1: require.js构建目录,设计模块,理清依赖关系
小的项目就没必要用node npm构建了,这里使用require.js进行模块化开发是挺合适的;
我画了一张图处理依赖关系:
step2:mock数据,劫持Ajax
根据青云提供的API中返回值类型,将其作为数据模版,使用mock.js进行数据模拟,生成大量符合要求的随机数据,然后拦截并模拟 ajax 请求;
mock.js示例:
var data = Mock.mock({ // 属性 list 的值是一个数组,其中含有 1 到 10 个元素 'list|1-10': [{ // 属性 id 是一个自增数,起始值为 1,每次增 1 'id|+1': 1 }]})
step3: 发送Ajax请求,解析数据
前端编写Ajax请求,获取data数据,提取含有70-100台主机及相关描述的数组hostList,其格式如下:
[{ cup :"2核2G", hostId: "i-yl9w1xnt", instance_class : "高性能型", security_group_id: "sg-fon6smsm", setTime:"3个月前", status:"running" },{ cup: "1核4G", hostId:"i-ue2v7ikj", instance_class:"高性能型", security_group_id:"sg-pgj9qibq", setTime:"2个月前", status:"running" },...]
step4: 写HTML结构和简单样式
首先把静态的结构写在index.html中,本项目对应的是控制条中的刷新、上一页、下一页等功能,界面如图:
step5: 根据数据的长度,动态拼接HTML
因为列表展示的数量是根据后端数据不同而动态更新的,所以不能写在静态的index.html文件中,而是通过js字符串拼接的方式动态生成HTML,最终附加到静态的根节点下;
代码示例如下:
// 遍历拼接表内的内容 for (var i = (pageNumber - 1) * 20; i < 20 * pageNumber; i ++){ // 如果列表不满20个,退出循环; if (!hostList[i]) break; tableContentHtml = tableContentHtml + "<tr>" + "<td>" + hostList[i].hostId + "</td>" + "<td>运行中</td>" + "<td>" + hostList[i].instance_class + "</td>" + "<td>" + hostList[i].cup + "</td>" + "<td>" + hostList[i].security_group_id +"</td>" + "<td>" + hostList[i].setTime +"</td>" "</tr>"; }
step6: 刷新数据、上下翻页、等业务逻辑的编写
业务逻辑没有特定的写法,细节实现的化可以从减少回流、重绘方面提升性能;
在这个业务中,其实我觉得比较有意思的点是刷新数据,其实当点击刷新按钮时,触发了第二次Ajax请求,那么,上一次获取的数据都要清空、上一次绘制的DOM节点也要移除、还有绑定在元素上的事件函数也应该清楚,这里使用了jquery的$el.unbind()方法;
step7: 样式美化,添加svg字体图标
阅读全文
0 0
- 青云笔试题的思路
- 职上青云笔试题
- 一道腾讯笔试题的思路
- 对象存储迎来爆发期 青云QingCloud有怎样的操作思路?
- 青云的弹性计算
- 青云的服务器密钥
- 青云的服务器密钥
- 某讯往年笔试题思路
- 青云的机房组网方案(简单)
- 计蒜客 青云的机房组网方案
- 计蒜客 青云的机房组网方案
- 【计蒜客11216】青云的网络设计方案 题解
- 数学家苏青云不为人知的故事
- 【笔试题】一个无重复面值的找零算法的思路与实现
- 【笔试题】一个无重复面值的找零算法的思路与实现【方案2】
- 腾讯笔试题_电梯问题_思路和初步的算法_討論一下
- 谷歌笔试题 附答案以及思路
- 今日头条秋招前端笔试附加题解题思路
- 万圣节动画-canvas像素点
- gitflow 分支原理
- 英文Windows 10中的中文显示不正常问题解决方案
- Python基础(五)
- 感想篇:8)关于提升机械结构工程师地位的畅想
- 青云笔试题的思路
- Kubernetes(k8s)学习笔记1
- CSS 动画经验
- ACM 这一路走来
- nginx&gunicorn&django阿里云简单部署
- 游戏中的热更新漫谈
- 优化算法(最小二乘,FANSAC,Levenberg-Marquardt,LMEDS,霍夫变换)
- python类
- Using OpenMP (一) Write a multi threaded program