layuiAdmin 단일 페이지 버전이 배경 json 데이터를 기반으로 왼쪽 메뉴 표시줄을 동적으로 생성하는 방법에 대한 자세한 설명
layuiAdmin 단일 페이지 버전은 배경 json 데이터를 기반으로 왼쪽 메뉴 표시줄을 동적으로 생성합니다.
템플릿을 사용하여 메뉴 로드
lay-url=”메뉴 인터페이스”
lay-headers=”가져오기 요청 헤더의 토큰", 그렇지 않은 경우 제거하세요
템플릿에서 console.log를 사용하세요. 예: {{# console.log(1) }}
layui.data('layuiAdmin').token 로컬에 저장된 호출 토큰, 토큰 이름은 로컬 저장소와 일치해야 합니다
json 필드 이름이 여기와 동일할 필요는 없습니다. json 필드 이름이 변경되면 그에 따라 템플릿도 수정되어야 합니다.
<div class="layui-side layui-side-menu"> <div class="layui-side-scroll"> <script type="text/html" template lay-url="https://easy-mock.com/mock/5c131015dada7b27ac3a5c36/titi/treemenu" lay-headers="{'x-auth-token': layui.data('layuiAdmin').token}" lay-done="layui.element.render('nav', 'layadmin-system-side-menu');" id="TPL_layout"> <ul class="layui-nav layui-nav-tree" lay-shrink="all" id="LAY-system-side-menu" lay-filter="layadmin-system-side-menu"> {{# var path = layui.router().path ,dataName = layui.setter.response.dataName; layui.each(d[dataName], function(index, item){ var hasChildren = typeof item.list === 'object' && item.list.length > 0 ,classSelected = function(){ if(index == 0){ return hasChildren ? 'layui-nav-itemed' : 'layui-this'; } return ''; } ,url = typeof item.href === 'string' ? item.href : item.name; }} <li data-name="{{ item.name || '' }}" data-jump="{{ item.href || '' }}" class="layui-nav-item {{ classSelected() }}"> <a href="javascript:;" {{ hasChildren ? '' : 'lay-href="'+ url +'"' }} lay-tips="{{ item.title }}" lay-direction="2"> <i class="layui-icon {{ item.icon }}"></i> <cite>{{ item.title }}</cite> </a> {{# if(hasChildren){ }} <dl class="layui-nav-child"> {{# layui.each(item.list, function(index2, item2){ var hasChildren2 = typeof item2.list == 'object' && item2.list.length > 0 ,classSelected2 = function(){ if(index==0){ return hasChildren2 ? 'layui-nav-itemed' : 'layui-this'; } return ''; } ,url2 = typeof item2.href === 'string' ? item2.href : [item.name, item2.name, ''].join('/'); }} <dd data-name="{{ item2.name || '' }}" data-jump="{{ item2.href || '' }}" {{ classSelected2() ? ('class="'+ classSelected2() +'"') : '' }}> <a href="javascript:;" {{ hasChildren2 ? '' : 'lay-href="'+ url2 +'"' }}>{{ item2.title }}</a> {{# if(hasChildren2){ }} <dl class="layui-nav-child"> {{# layui.each(item2.list, function(index3, item3){ var match = path[0] == item.name && path[1] == item2.name && path[2] == item3.name ,url3 = typeof item3.href === 'string' ? item3.href : [item.name, item2.name, item3.name].join('/') }} <dd data-name="{{ item3.name || '' }}" data-jump="{{ item3.href || '' }}" {{ match ? 'class="layui-this"' : '' }}> <a href="javascript:;" lay-href="{{ url3 }}">{{ item3.title }}</a> </dd> {{# }); }} </dl> {{# } }} </dd> {{# }); }} </dl> {{# } }} </li> {{# }); }} </ul> </script> </div> </div>
에서 반환된 json 형식 배경(예)
{ "code": 0 ,"msg": "" ,"data": [{ "title": "主页" ,"icon": "layui-icon-home" ,"list": [{ "title": "控制台" ,"jump": "/" }, { "name": "homepage1" ,"title": "主页一" ,"jump": "home/homepage1" }, { "name": "homepage2" ,"title": "主页二" ,"jump": "home/homepage2" }] }, { "name": "component" ,"title": "组件" ,"icon": "layui-icon-component" ,"list": [{ "name": "grid" ,"title": "栅格" ,"list": [{ "name": "list" ,"title": "等比例列表排列" },{ "name": "mobile" ,"title": "按移动端排列" },{ "name": "mobile-pc" ,"title": "移动桌面端组合" },{ "name": "all" ,"title": "全端复杂组合" },{ "name": "stack" ,"title": "低于桌面堆叠排列" },{ "name": "speed-dial" ,"title": "九宫格" }] }, { "name": "button" ,"title": "按钮" }, { "name": "form" ,"title": "表单" ,"list": [{ "name": "element" ,"title": "表单元素" },{ "name": "group" ,"title": "表单组合" }] }, { "name": "nav" ,"title": "导航" }, { "name": "tabs" ,"title": "选项卡" }, { "name": "progress" ,"title": "进度条" }, { "name": "panel" ,"title": "面板" }, { "name": "badge" ,"title": "徽章" }, { "name": "timeline" ,"title": "时间线" }, { "name": "anim" ,"title": "动画" }, { "name": "auxiliar" ,"title": "辅助" }, { "name": "layer" ,"title": "通用弹层" ,"list": [{ "name": "list" ,"title": "功能演示" },{ "name": "special-demo" ,"title": "特殊示例" },{ "name": "theme" ,"title": "风格定制" }] }, { "name": "laydate" ,"title": "日期时间" ,"list": [{ "name": "demo1" ,"title": "功能演示一" },{ "name": "demo2" ,"title": "功能演示二" },{ "name": "theme" ,"title": "设定主题" },{ "name": "special-demo" ,"title": "特殊示例" }] }, { "name": "table" ,"title": "表格" ,"list": [{ "name": "simple" ,"title": "简单数据表格" },{ "name": "auto" ,"title": "列宽自动分配" },{ "name": "data" ,"title": "赋值已知数据" },{ "name": "tostatic" ,"title": "转化静态表格" },{ "name": "page" ,"title": "开启分页" },{ "name": "resetPage" ,"title": "自定义分页" },{ "name": "toolbar" ,"title": "开启头部工具栏" },{ "name": "totalRow" ,"title": "开启合计行" },{ "name": "height" ,"title": "高度最大适应" },{ "name": "checkbox" ,"title": "开启复选框" },{ "name": "radio" ,"title": "开启单选框" },{ "name": "cellEdit" ,"title": "开启单元格编辑" },{ "name": "form" ,"title": "加入表单元素" },{ "name": "style" ,"title": "设置单元格样式" },{ "name": "fixed" ,"title": "固定列" },{ "name": "operate" ,"title": "数据操作" },{ "name": "parseData" ,"title": "解析任意数据格式" },{ "name": "onrow" ,"title": "监听行事件" },{ "name": "reload" ,"title": "数据表格的重载" },{ "name": "initSort" ,"title": "设置初始排序" },{ "name": "cellEvent" ,"title": "监听单元格事件" },{ "name": "thead" ,"title": "复杂表头" }] }, { "name": "laypage" ,"title": "分页" ,"list": [{ "name": "demo1" ,"title": "功能演示一" },{ "name": "demo2" ,"title": "功能演示二" }] }, { "name": "upload" ,"title": "上传" ,"list": [{ "name": "demo1" ,"title": "功能演示一" },{ "name": "demo2" ,"title": "功能演示二" }] }, { "name": "colorpicker" ,"title": "颜色选择器" }, { "name": "slider" ,"title": "滑块组件" }, { "name": "rate" ,"title": "评分" }, { "name": "carousel" ,"title": "轮播" }, { "name": "flow" ,"title": "流加载" }, { "name": "util" ,"title": "工具" }, { "name": "code" ,"title": "代码修饰" }, { "name": "layim" ,"title": "即时聊天" ,"jump": "senior/im/" }] }, { "name": "template" ,"title": "页面" ,"icon": "layui-icon-template" ,"list": [{ "name": "personalpage" ,"title": "个人主页" ,"jump": "template/personalpage" },{ "name": "addresslist" ,"title": "通讯录" ,"jump": "template/addresslist" },{ "name": "caller" ,"title": "客户列表" ,"jump": "template/caller" },{ "name": "goodslist" ,"title": "商品列表" ,"jump": "template/goodslist" },{ "name": "msgboard" ,"title": "留言板" ,"jump": "template/msgboard" },{ "name": "search" ,"title": "搜索结果" ,"jump": "template/search" },{ "name": "reg" ,"title": "注册" ,"jump": "user/reg" },{ "name": "login" ,"title": "登入" ,"jump": "user/login" },{ "name": "forget" ,"title": "忘记密码" ,"jump": "user/forget" },{ "name": "404" ,"title": "404" ,"jump": "template/tips/404" },{ "name": "error" ,"title": "错误提示" ,"jump": "template/tips/error" }, { "name": "" ,"title": "内嵌页面" ,"spread": true ,"list": [{ "name": "" ,"title": "百度一下" ,"jump": "/iframe/link/baidu" }, { "name": "" ,"title": "layui官网" ,"jump": "/iframe/link/layui" }, { "name": "" ,"title": "layuiAdmin官网" ,"jump": "/iframe/link/layuiAdmin" }] }] }, { "name": "app" ,"title": "应用" ,"icon": "layui-icon-app" ,"list": [{ "name": "content" ,"title": "内容系统" ,"list": [{ "name": "list" ,"title": "文章列表" },{ "name": "tags" ,"title": "分类管理" },{ "name": "comment" ,"title": "评论管理" }] },{ "name": "forum" ,"title": "社区系统" ,"list": [{ "name": "list" ,"title": "帖子列表" },{ "name": "replys" ,"title": "回帖列表" }] },{ "name": "message" ,"title": "消息中心" },{ "name": "workorder" ,"title": "工单系统" ,"jump": "app/workorder/list" }] }, { "name": "senior" ,"title": "高级" ,"icon": "layui-icon-senior" ,"list": [{ "name": "im" ,"title": "通讯系统" },{ "name": "echarts" ,"title": "Echarts集成" ,"list": [{ "name": "line" ,"title": "折线图" },{ "name": "bar" ,"title": "柱状图" },{ "name": "map" ,"title": "地图" }] }] }, { "name": "user" ,"title": "用户" ,"icon": "layui-icon-user" ,"list": [{ "name": "user" ,"title": "网站用户" ,"jump": "user/user/list" }, { "name": "administrators-list" ,"title": "后台管理员" ,"jump": "user/administrators/list" }, { "name": "administrators-rule" ,"title": "角色管理" ,"jump": "user/administrators/role" }] }, { "name": "set" ,"title": "设置" ,"icon": "layui-icon-set" ,"list": [{ "name": "system" ,"title": "系统设置" ,"spread": true ,"list": [{ "name": "website" ,"title": "网站设置" },{ "name": "email" ,"title": "邮件服务" }] },{ "name": "user" ,"title": "我的设置" ,"spread": true ,"list": [{ "name": "info" ,"title": "基本资料" },{ "name": "password" ,"title": "修改密码" }] }] }, { "name": "get" ,"title": "授权" ,"icon": "layui-icon-auz" ,"jump": "system/get" }] }
Rendering:
추천 튜토리얼: "layui 프레임워크 튜토리얼"
위 내용은 layuiAdmin 단일 페이지 버전이 배경 json 데이터를 기반으로 왼쪽 메뉴 표시줄을 동적으로 생성하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

Layui 로그인 페이지 점프 설정 단계: 점프 코드 추가: 로그인 양식 제출 버튼 클릭 이벤트에 판단을 추가하고, 로그인 성공 후 window.location.href를 통해 지정된 페이지로 점프합니다. 양식 구성 수정: 숨겨진 입력 필드를lay-filter="login"의 양식 요소에 추가합니다. 이름은 "redirect"이고 값은 대상 페이지 주소입니다.

layui는 양식의 모든 필드 데이터를 직접 가져오는 방법, 단일 양식 요소의 값을 가져오는 방법, formAPI.getVal() 메서드를 사용하여 지정된 필드 값을 가져오는 방법, 양식 데이터를 직렬화하는 방법 등 양식 데이터를 가져오는 다양한 방법을 제공합니다. 이를 AJAX 요청 매개변수로 사용하면 양식 제출 이벤트를 수신하여 데이터를 가져옵니다.

오른쪽 클릭 메뉴의 내용이 너무 많든 적든 실제로 변경될 수 있습니다. 그렇다면 win10에서 오른쪽 클릭 메뉴 표시줄을 설정하는 방법은 무엇일까요? 기재. win10에서 오른쪽 클릭 메뉴 표시줄을 설정하는 방법: 1. 먼저 "win+r" 단축키를 사용하여 실행을 엽니다. 2. 연 후 "regedit"를 입력하고 Enter를 눌러 레지스트리를 엽니다. 3. 그런 다음 위의 "HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer\MenuExt" 경로를 입력합니다. 4. 왼쪽의 "MenuExt" 폴더 아래에는 오른쪽 클릭 메뉴 표시줄의 내용이 있습니다. 5. 원치 않으시면 마우스 우클릭 후 '삭제' 하시면 됩니다. 6. 원하시면

Layui와 Vue의 차이점은 주로 기능과 관심사에 반영됩니다. Layui는 UI 요소의 신속한 개발에 중점을 두고 페이지 구성을 단순화하기 위해 사전 제작된 구성 요소를 제공하는 반면, Vue는 데이터 바인딩, 구성 요소 개발 및 상태 관리에 중점을 두고 복잡한 애플리케이션 구축에 더 적합한 풀 스택 프레임워크입니다. Layui는 배우기 쉽고 빠르게 페이지를 구축하는 데 적합합니다. Vue는 학습 곡선이 가파르지만 확장 가능하고 유지 관리가 쉬운 애플리케이션을 구축하는 데 도움이 됩니다. 프로젝트 요구사항과 개발자 기술 수준에 따라 적절한 프레임워크를 선택할 수 있습니다.

Layui 프레임워크의 반응형 레이아웃 기능을 사용하면 적응형 레이아웃을 구현할 수 있습니다. 단계에는layui 프레임워크 참조가 포함됩니다. 적응형 레이아웃 컨테이너를 정의하고layui-container 클래스를 설정합니다. 반응형 중단점(xs/sm/md/lg)을 사용하여 특정 중단점 아래의 요소를 숨깁니다. 그리드 시스템(layui-col-)을 사용하여 요소 너비를 지정합니다. 오프셋(layui-offset-)을 통해 간격을 만듭니다. 반응형 유틸리티(layui-invisible/show/block/inline)를 사용하여 요소의 가시성과 표시 방식을 제어합니다.

Layui를 사용하여 데이터를 전송하는 방법은 다음과 같습니다. Ajax 사용: 요청 객체를 생성하고 요청 매개변수(URL, 메서드, 데이터)를 설정한 후 응답을 처리합니다. 기본 제공 방법 사용: $.post, $.get, $.postJSON 또는 $.getJSON과 같은 기본 제공 방법을 사용하여 데이터 전송을 단순화합니다.

layui는 개발자가 현대적이고 반응성이 뛰어난 대화형 웹 애플리케이션을 신속하게 구축하는 데 도움이 되는 풍부한 UI 구성 요소, 도구 및 기능을 제공하는 프런트 엔드 UI 프레임워크입니다. 해당 기능에는 유연하고 가벼운 모듈식 디자인, 풍부한 구성 요소, 강력한 도구 및 간편한 기능이 포함됩니다. 맞춤화. 이는 관리 시스템, 전자상거래 플랫폼, 콘텐츠 관리 시스템, 소셜 네트워크 및 모바일 애플리케이션을 포함한 다양한 웹 애플리케이션 개발에 널리 사용됩니다.

Layui 프레임워크는 개발자가 반응형 웹 애플리케이션을 신속하게 구축하는 데 도움이 되는 사용하기 쉬운 UI 구성 요소 및 도구 세트를 제공하는 JavaScript 기반 프런트 엔드 프레임워크입니다. 그 기능에는 모듈식, 경량, 반응형, 완벽한 문서화 및 커뮤니티 지원이 포함됩니다. layui는 관리 백엔드 시스템, 전자상거래 웹사이트, 모바일 애플리케이션 개발에 널리 사용됩니다. 장점은 빠른 시작, 향상된 효율성, 손쉬운 유지 관리입니다. 단점은 열악한 맞춤화와 느린 기술 업데이트입니다.
