一、layui的弹出层
1. 提示框弹出层
var layer = layui.layer
layer.msg( "提示信息" )
2.询问弹出层
var layer = layui.layer
layer.confirm( '提示信息' , { icon: 3, title:'标题' } , function(index){
layer.close(index); //用来关闭弹出层
});
第一个参数是弹出层的提示信息。
第二个参数是一个配置对象,对象的第一个属性是字体图标,第二个属性是弹出层的标题。
第三个参数是回调函数,在点击确认后会执行。回调函数中必须有关闭代码。
3.弹出层
var layer = layui.layer
var index = layer.open( {
title:"弹出层标题",
content:"主体内容部分",
...其他属性。
})
使用layer.open(options)开启弹出层时,有一个返回值index,代表这个弹出层的索引。
根据索引可以手动关闭指定的弹出层。
layer.close( index )
二、
1.禁止非登录人员访问首页
(1)问题:如果用户没有登录系统,直接在地址栏里输入首页地址也能访问后台首页,这是不合理的。
(2)解决:
①有权限的Ajax请求都是需要请求头headers的。
②发起登录Ajax请求时可以获得headers,将其保存到本地localStorage。退出登录时删除。
③首页所有Ajax请求都需要headers,此时不要直接写headers,而是到本地获取。
④在所有发起获取用户信息的Ajax请求时,添加complete回调函数。
⑤无论Ajax函数请求成功还是失败,都会调用complete回调函数。此时可以获取到complete的返回值,判断用户是否登录。如果没有登录:
- 强制清空本地headers值。
-
强制返回登录页面。
捕获.PNG
三、layui表单快速赋值
var form = layui.form
form.val ('filter', object);
①filter:待赋值的表单必须添加lay-filter属性。这里的filter就是自定义的属性值。
②object:数据对象,将这个对象的数据赋值给表单。
③表单元素必须有name属性,并且name属性值和对象的属性名一一对应。
四、插件的使用
1.cropper插件的使用
cropper插件可以实现头像的裁剪与上传。见大事件项目第二天笔记。
2.富文本编辑器
大事件项目第三天素材。
五、
1.隐藏域表单
<input type="hidden" name=" ">
隐藏域表单不会显示到页面上。
2.input上传表单的accept属性
上传文件的input表单,可以添加accept属性,限制上传文件的类型。
<input type="file" id="file" accept="image/png,image/jpeg" />
3.input上传表单的change事件
点击文件选择框,当确定选择新文件时会触发change事件。
用来绑定上传文件表单的上传事件。
4.图片的base64字符串格式
转换网址:https://www.css-js.com/tools/base64.html
①将图片转换成base64字符串格式可以减少HTTP请求图片。
②但是base64字符串格式的图片体积会增大30%。
③适合小图片的转换。
5.重新调用layui.js渲染页面
由于layuui的渲染机制,下拉表单里的"文章分类"选项是动态获取的,发起【获取文章分类列表】请求时layui已经将页面渲染完毕。必须重新调用layui.js。
**var form = layui.form
form.render();**
六、分页按钮
(1)在HTML结构中创建一个用来盛放分页按钮的盒子。必须有Id。
(2)在js中调用laypage.render( )方法渲染结构。
laypage.render({
elem: ' ', // 分页容器的 Id
count: ' ',// 总数据条数
limit: ' ' , // 每页显示几条数据
curr: ' ' , // 设置默认被选中的分页
layout: [ ] ,//更多功能
jump: function (obj, first) { 在这重新渲染数据 },
});
①jump回调函数可以获得最新的页码值。
②触发jump回调函数的方式有两种:可以通过参数first来判断哪种方式触发的jump回调函数。
第一种,当我们点击了【页码】或者点击每【页显示数目的按钮】会触发。此时参数first值为underfined。
第二种,当laypage.render函数被调用时就会触发。此时参数first值为true。