从4.19开始着手写一个广告投放后台管理平台的一个页面,告一段落,在这里总结出自己遇到的问题以及解决方法,记录一路走来的磕磕碰碰。
技术需求:layUI
框架各个组件的使用,组件内部数据的传递,前后端数据传递接口的实现。
一开始一头雾水,完全不知道从何开始,layUI
、postman
、JSON
、Ajax
感觉很多东西都要学习,一时茫然,后来一步一步地走,还是会悟出很多。
时间组件
不懂的地方就去学习官网,总能找到自己迷惑之处的蛛丝马迹。很多细节文档中都有体现。
//执行一个laydate实例
laydate.render({
elem: '#test1' //指定元素
});
表格组件
table.render({
elem: '#demo'//HTML标签id
,height: 312
,url: '/demo/table/user/' //数据接口
,page: true //开启分页
,cols: [[ //表头
{field: 'id', title: 'ID', width:80, sort: true, fixed: 'left'}
,{field: 'username', title: '用户名', width:80}
]]
});
开始:
修改页面样式,添加页面表格数据,研究layUI
官方文档。出现的问题:
一、样式错误: 表头和表格数据无法对齐。
debug半天,发现罪魁祸首竟是这个籍籍无名的","
,所以 一定要认真认真啊,上午由于一个URL中多一个空格,师兄都帮我找了很久,最后也是错在多了一个空格。。。修改之后:
二、 弹层类型注意!!
type
:layer
提供了5种层类型。可传入的值有:0(信息框,默认)1(页面层)2(iframe
层)3(加载层)4(tips
层)。
中期
出现的问题:
一、有一个功能是:点击编辑按钮,能够跳出广告编辑弹窗,并且里面的数据是已经获取并填好了的,需要我们修改。
利用localStorage
来获得的数据,然后转为字符串格式再转换为JSON
格式,可是当用
document.getElementById("ad_title").innerHTML= data.title;
来写的时候,没办法渲染出来,后来请教师姐才明白:
input
是单标签,用innerHTML
无法渲染,必须要用value
才可以取出数据,最后修改如下。
二、因为一个option
的val
()还是 text
()卡了半天
获取input
的值用val
(),获取option
被选中的值就应该用text
()了。
三、无法获取到table
中 选中的数据?
其实很简单,就这样就可。
自己开始写的是lay-filter
的值,就一直获取不到数据,谨记谨记。
四、学会利用浏览器自带的调试工具。
写弹层,因为添加和编辑都需要弹层,但是以我的水平暂时不能将它们放在同一个弹层中(后来老师说可以一用表格中的每条数据的id号来实现)。
所以从另一个HTML
页面中引入弹层时,发现底部总是会有长长的滚动条,没找到原因。
后来请教老师,老师利用浏览器调试工具找出了缘由,是开始手动添加了box
的宽度导致。
出现问题时不要慌,先去检查调试工具,任何错误总是会有原因的,总能找到的。
五、点击编辑跳出弹层,如何把数据塞进去。
localStorage.setItem("edit_data", JSON.stringify(data));
var data = localStorage.getItem("edit_data");
data = JSON.parse(data);//获得数据
再选中input
标签的id
将对应的内容塞进去。
收尾
利用Ajax
发出请求,调用接口实现数据的更改和删除。
如果要传参数的话就用post
方法,请求得到参数就用get
方法。
吃计算机这碗饭,硬实力必不可少,但同时软实力所带来的效率也是不容小觑的。作为前端开发人员需要及时和后端对接人员进行有效的沟通交流,不然随着deadline的逼近,项目还没有进展就比较急人了。
思考总结
数据结构很重要,灵活运用数据结构能够少写很多代码。
前端的框架不胜枚举,但是最底层的东西依然没变,不能因为起初认为框架方便快捷而丢掉底层的东西,更应该好好学习CSS、JS
等基础知识,原生的东西明白了,就会发现很多东西其实换汤不换药,用起来也就得心应手。
经过此次练习,我和layUI
也算是朋友了吧,期待下次合作。
一开始我会说“我没有接触过layUI
,我不会怎么办?”
老师一语点醒梦中人,难道你就因为没有接触过而选择不学逃避吗?
正因为没有接触过,恰恰需要抓住这次机会,去学习锻炼,接触新的知识,更新知识储备库,在这个过程中得到提升。
现在回过头来,发现曾经自己觉得困难的坎其实并没有想象中的那么难,或许走过来了才会有这样的感受吧,因为debug
出来的成就没有任何人可以替代。
正如官网里写的那样:希望在以后的学习中,我们都能自信且勇敢,踏上漫漫征途。