JavaScript 프레임워크(xmlplus) 구성 요소 소개(5) 탭바
xmlplus는 프론트엔드 및 백엔드 프로젝트의 신속한 개발을 위한 JavaScript프레임워크입니다. 이번 글에서는 주로 참고할만한 가치가 있는 xmlplus 컴포넌트 디자인 시리즈의 탭을 소개합니다. 관심 있는 친구들은
을 참고하세요. 이 장에서는 휴대용 기기에서 흔히 사용되는 탭 컴포넌트를 디자인합니다. 개략도:
탭 구성
구체적으로 구현하기 전에 대상 구성 요소가 어떻게 사용되는지 상상해 보세요. 디자인에 큰 도움이 됩니다. 검사를 통해 다음 XML 구조에 표시된 것처럼 탭 구성 요소를 컨테이너 부분과 하위 부분으로 나눌 수 있습니다.
rree이제 탭 구성 요소의 하위 부분으로 관심을 전환하여 하위 부분이 어떻게 분해되는지 살펴보겠습니다. 다이어그램에서 하위 섹션을 하위 컨테이너와 아이콘과 텍스트가 포함된 하위 섹션으로 나눌 수 있음을 알 수 있습니다.
<Tabbar id="tabbar"> <TabItem id="home" label="首页"/> <TabItem id="setting" label="设置"/> <TabItem id="logs" label="日志"/> <TabItem id="about" label="关于"/> </Tabbar>
이제 우리의 목표는 매우 명확합니다. 주로 세 가지 구성 요소, 즉 아이콘 구성 요소 Icon, 탭 구성 요소 TabItem의 하위 항목 및 탭 구성 요소 Tabbar의 컨테이너를 설계하는 것입니다.
구조도
이 구성 요소는 비교적 간단하므로 세 가지 하위 구성 요소를 동일한 레벨에 배치할 수 있습니다. 하지만 네 가지 아이콘 구성요소도 있으며 이를 보유할 하위 항목을 만들 수도 있습니다. 구성 요소 구조 다이어그램은 다음과 같습니다.
Tabbar/
├── Tabbar
├── TabItem
└── Icon/
├─ ─ 소개
├── 홈
├── 로그
└── 설정
아이콘 구현
가장 간단한 것부터 시작해 4가지 아이콘 구성요소를 살펴보겠습니다. 아이콘 구성요소는 주로 SVG 텍스트를 캡슐화하여 구현됩니다. 아이콘 텍스트가 길기 때문에 여기서는 각 아이콘 텍스트의 일부만 가로채고 있습니다.
<a id="tabitem"> <Icon id="icon"/> <span id="label">首页</span> </a>
이러한 아이콘은 가상 디렉터리/아이콘 아래에 있습니다. 즉, 다음과 같이 가져와야 합니다.
About: { xml: `<svg width="48" height="48" viewBox="0 0 1024 1024"> <path d="M507.577907 23.272727C240.142852..."/> </svg>` }, Home: { xml: `<svg width="48" height="48" viewBox="0 0 1024 1024"> <path d="M949.082218 519.343245 508.704442..."/> </svg>` }, Logs: { xml: `<svg width="48" height="48" viewBox="0 0 1024 1024"> <path d="M576 125.344l32 0 0 64-32 0 0-64Z..."/> </svg>` }, Setting: { xml: `<svg width="48" height="48" viewBox="0 0 1024 1024"> <path d="M512 336.664c-96.68 0-175.336 78...."/> </svg>` }
다음은 아이콘 구성 요소 아이콘을 구현하는 것입니다. 여기의 아이콘 구성 요소는 위와 동일합니다. 다르게는 입력 아이콘 유형에 따라 다른 아이콘을 인스턴스화합니다. 이 디자인은 동일한 코드의 일부를 재사용하고 중복을 피할 수 있습니다.
xmlplus("ui", function (xp, $_, t) { $_().imports({Tabbar: {... }, TabItem: {...}}); $_("icon").imports({--这里包含了四个图标组件--}); });
이 컴포넌트의 함수 항목은 입력 아이콘 유형을 기반으로 아이콘 컴포넌트를 생성하고 기존 스팬 요소객체를 대체합니다. 교체 후 스타일을 다시 추가해야 한다는 점에 유의하세요.
하위 항목 구현
내부에서 외부로 가는 원리에 따라 다음으로 탭 컴포넌트의 하위 항목 TabItem을 구현합니다. 이 컴포넌트의 경우 컴포넌트의 매핑 항목에서 동의어 속성 매핑을 수행하고, id 속성 값을 내부 아이콘 컴포넌트의 icon 속성에 매핑해야 합니다.
Icon: { css: "#icon { width: 1.5em; height: 1.5em; display: inline-block; }", opt: { icon: "about" }, xml: `<span id="icon"/>`, fun: function (sys, items, opts) { sys.icon.replace("icon/" + opts.icon).addClass("#icon"); } }
이 구성 요소는 옵션을 전환할 때 선택 및 선택 취소 상태 간 전환을 위한 인터페이스를 제공합니다. 탭 컨테이너에서 사용됩니다.
탭 구현
마지막으로 탭 컴포넌트인 Tabbar의 구현을 살펴보겠습니다. 이 구성 요소는 사용자가 탭을 탭할 때 이벤트를 수신합니다. 이 구성 요소는 주로 리스너에서 두 가지 작업을 수행합니다. 하나는 탭 상태 전환을 유지하는 것이고, 다른 하나는 탭이 탭될 때 이벤트를 전달하는 것입니다. 전환됨. 상태 변경 이벤트입니다.
TabItem: { css: "这里是样式项部分,为便于组件整体展示,略去...", map: {"attrs": { icon: "id->icon" } }, xml: `<a id="tabitem"> <Icon id="icon"/> <span id="label">首页</span> </a>`, fun: function (sys, items, opts) { sys.label.text(opts.label); function select() { sys.tabitem.addClass("#primary"); } function unselect() { sys.tabitem.removeClass("#primary"); } return { select: select, unselect: unselect }; } }
Tabbar: { css: "这里是样式项部分,为便于组件整体展示,略去...", xml: `<nav id="tabbar"/>`, fun: function (sys, items, opts) { var sel = this.first(); this.on("touchend", "./*[@id]", function (e) { sel.value().unselect(); (sel = this).value().select(); this.trigger("switch", this.toString()); }); if (sel) sel.value().select(); } }
View 스택 구성 요소를 사용하여 페이지 간 전환 작업을 수행할 수 있습니다.
이 기사 시리즈는 xmlplus 프레임워크를 기반으로 합니다. xmlplus에 대해 잘 모르신다면 www.xmlplus.cn을 방문해 보세요. 자세한 시작 설명서는 여기에서 확인할 수 있습니다. [관련 추천]1. 2.3.php.cn Dugu Jiujian (3) - JavaScript 동영상 튜토리얼
위 내용은 JavaScript 프레임워크(xmlplus) 구성 요소 소개(5) 탭바의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

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

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

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

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

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

뜨거운 주제











몇몇 Windows 사용자는 시스템의 Google Chrome 브라우저에서 일부 웹사이트에 액세스하려고 할 때 웹페이지에 액세스할 수 없다고 불평했습니다. 또한 오류 코드 ERR_ADDRESS_UNREACHABLE과 함께 "사이트에 연결할 수 없습니다"라는 메시지가 브라우저에 표시됩니다. 이 문제에는 여러 가지 잠재적인 이유가 있을 수 있습니다. 웹사이트 서버 문제, 프록시 서버 설정, 불안정한 인터넷 연결 등이 원인일 수 있습니다. 비슷한 문제가 발생하더라도 당황하지 마세요. 이 글의 문제를 깊이 분석한 후, 우리는 다양한 해결책을 얻었습니다. 계속하기 전에 다음 해결 방법을 시도해 보십시오. 사용자가 다른 장치에서 사이트에 액세스하려고 하는데 문제가 없는지 확인한 다음 이 방법을 사용하십시오.

Logitech GHub는 사용자가 Logitech 주변 장치를 관리할 수 있는 소프트웨어입니다. 이 소프트웨어는 Windows 11과 호환됩니다. 그러나 일부 사용자는 Logitech GHub가 Windows 11에서 작동하지 않는다고 보고했습니다. 독자들은 소프트웨어를 실행하려고 할 때 로딩이 중단된다고 보고했습니다. 따라서 소프트웨어가 열리지 않으면 소프트웨어를 사용할 수 없습니다. Windows 11에서 작동하지 않는 LogitechGHub를 수정해 보셨나요? 그렇다면 아래의 잠재적 솔루션이 LogitechGHub를 시작할 수 있습니다. Logitech GHub가 Windows 11에서 작동하지 않는 이유는 무엇입니까? 다른 많은 사람들과

Windows 파일 탐색기와 함께 제공되는 기능 중 하나는 선택한 파일의 미리 보기를 표시하는 미리 보기 창입니다. 즉, 파일을 열기 전에 파일 내용을 볼 수 있습니다. 파일 탐색기의 미리 보기 창에서는 Office 관련 문서, PDF, 텍스트 파일, 이미지, 비디오 등 다양한 유형의 파일에 대한 미리 보기를 제공합니다. 일반적으로 잘 작동하지만 때로는 파일 미리보기를 사용할 수 없는 경우가 있습니다. 최근 많은 Windows 11 사용자가 파일 탐색기의 미리 보기 창이 작동하지 않고 파일 미리 보기를 볼 수 없다는 문제를 제기했습니다. Windows 컴퓨터에서 미리보기 창이 작동하지 않는 문제에 직면하고 있습니까? 그렇다면 이 글을 계속 읽어보세요. 여기에는 PC 문제를 해결하는 데 도움이 되는 수정 사항 목록이 정리되어 있습니다.

MSIAfterburner는 대부분의 그래픽 카드에 적합한 오버클러킹 도구입니다. 그 외에도 이를 사용하여 시스템 성능을 모니터링할 수도 있습니다. 그러나 일부 사용자는 MSIAfterburner가 Windows 11에서 작동하지 않는다고 보고했습니다. 이는 다음 섹션에서 설명하는 여러 가지 이유 때문일 수 있습니다. 하지만 이런 일이 발생하면 게임을 플레이하는 동안 성능을 변경하거나 모니터링할 수 없습니다. 예상한 대로 이는 게이머에게 중요한 과제입니다. 이것이 바로 우리가 문제를 이해하는 데 도움이 되고 Windows 11 문제에서 작동하지 않는 MSIAfterburned에 대한 가장 효과적인 수정 방법을 안내하기 위해 이 튜토리얼을 제공한 이유입니다.

운영 체제는 이전 버전보다 훨씬 좋아 보이고 AutoHDR 및 DirectStorage와 같은 게이머 중심 기능을 갖추고 있지만 Valorant 플레이어는 게임을 시작하는 데 몇 가지 어려움을 겪었습니다. 이것은 이전에 게이머들이 직면한 첫 번째 문제가 아닙니다. Valorant가 Windows 11에서 열리지 않는 것은 그들을 괴롭히는 또 다른 문제이지만 우리는 이를 해결하는 방법을 다뤘습니다. 이제 Windows 11로 전환한 Valorant 플레이어는 Secure Boot 및 TPM2.0 서비스로 인해 문제에 직면한 것으로 보입니다. 이로 인해 게임 메뉴가 실행 중에만 종료 옵션만 표시됩니다. 많은 사용자가 VAN1067 오류를 겪고 있지만 이것이 경보의 원인이 되어서는 안 됩니다.

최신 버전의 Opera 브라우저에는 새로운 자동 비디오 팝업 기능이 포함되어 있습니다. 이 기능을 사용하면 브라우저의 다른 탭으로 이동할 때 비디오가 자동으로 팝업되는 것을 볼 수 있습니다. 이 팝업 비디오는 크기가 조정되고 화면 주위로 이동할 수 있는 것으로 나타났습니다. 동영상 탭으로 다시 이동하면 다시 시작되고 부동 창이 사라집니다. 비디오 팝업 기능은 작업 중에 비디오를 시청하려는 멀티태스킹 사용자에게 유용합니다. 그러나 모든 Opera 사용자가 이 자동 비디오 팝업 기능을 좋아하는 것은 아닙니다. 탭을 변경할 때마다 나타나는 동영상 때문에 짜증을 내는 Opera 브라우저 사용자 중 한 명이라면 올바른 게시물을 찾으신 것입니다. 여기에서는 Opera에서 이 팝업을 비활성화하는 방법을 자세히 설명합니다.

우리가 플레이하는 거의 모든 고급 게임은 DirectX를 사용하여 효율적으로 실행됩니다. 그러나 일부 사용자는 DirectX 함수 GetDeviceRemovedReasonfailedwith와 오류 이유가 발생했다고 보고했습니다. 위의 이유는 일반 사용자에게는 자명하지 않으며 근본 원인과 가장 효과적인 솔루션을 결정하려면 어느 정도의 연구가 필요합니다. 작업을 더 쉽게 하기 위해 이 튜토리얼을 이 문제에 전념했습니다. 다음 섹션에서는 잠재적인 원인을 식별하고 DirectX 기능 GetDeviceRemovedReasonfailedwitherror를 제거하기 위한 문제 해결 단계를 안내합니다. 무엇이 원인인가

이 작업에는 다소 이상한 버그인 대화형 윈도우 스테이션이 필요합니다. 사용자가 앱과 상호 작용할 수 있는 소프트웨어 창이 열려 있지 않으므로 활성화해야 합니다. 이 버그는 2021 Printing Nightmare 취약점과 연결되어 있습니다. 그러나 이는 오늘날까지도 계속되어 컴퓨터와 장치 드라이버에 영향을 미칩니다. 다행히도 쉽게 고칠 수 있습니다. 애초에 왜 이런 오류가 발생하는 걸까요? 이 오류를 해결하는 방법을 설명하기 전에 이 오류의 원인을 나열하십시오. 이렇게 하면 이러한 일이 다시 발생하지 않도록 필요한 조치를 취할 수 있습니다. 손상된 파일이 컴퓨터 파일을 엉망으로 만들고 있습니다. 손상은 맬웨어부터 정전까지 다양한 이유로 발생할 수 있습니다. SFC 스캔을 실행하는 것이 좋습니다. 지나치게 열성적인 바이러스 백신 앱을 사용하고 있습니다. 바이러스 백신 소프트웨어가 때때로 차단합니다.
