LVRS Storyboard Frame

components/navigation/Link.svx

Path: components/navigation/Link.svx

Last modified:

링크

위치: qml/components/navigation/Link.qml

Link는 경로/구성 요소 네비게이션을 버튼과 같은 API로 감싸는 클릭 투 내비게이션 컨트롤입니다.

목적

  • 각 클릭 핸들러에서 직접 라우터 메서드 호출 없이 선언적 탐색 트리거를 제공하십시오.
  • 하나의 구성 요소에서 경로 탐색 및 구성 요소‐대상 탐색을 지원합니다.

API

라우팅:

  • router(선택적 명시적 라우터)
  • href
  • to(href의 별칭)
  • params
  • replace
  • targetComponent

시각적:

  • linkColor
  • hoverColor
  • disabledColor
  • underline

내용:

  • 기본 content 슬롯
  • 슬롯 자식이 없을 때 대체 경로 텍스트 렌더링

라우터 해상도

Link는 라우터를 다음 순서대로 선택합니다:

  1. 명시적 router 속성
  2. Navigator.router
  3. 미해결인 경우, 수술은 없습니다.

네비게이션 동작

  • targetComponent가 설정된 경우:
    • replace == true -> replaceWith(component, params)
    • 그렇지 않으면 -> goTo(component, params)
  • 다른 경로 경로:
    • replace == true -> replace(href, params)
    • 그렇지 않으면 -> go(href, params)

사용법

import LVRS 1.0 as LV

LV.Link {
    href: "/reports"
    text: "Open Reports"
    underline: true
}

고급 예시: 구성 요소 탐색 교체

import QtQuick
import LVRS 1.0 as LV

Item {
    Component { id: inspectorPage; Rectangle {} }

    LV.Link {
        targetComponent: inspectorPage
        replace: true
        params: ({ source: "sidebar" })
        text: "Open Inspector"
    }
}

일반적인 실수

명시적인 router가 제공되지 않은 경우, Navigator.router가 등록되지 않은 경우 탐색 아무런 알림 없이는 작동하지 않습니다. 라우터 등록이 중첩/임베디드 내비게이션 설정에 존재하는지 확인하십시오.

레시피: 마법사 단계용 경로 교체

import LVRS 1.0 as LV

LV.Link {
    href: "/wizard/step-2"
    replace: true
    text: "Next"
}

선형 마법사 흐름에서 백스택 노이즈를 방지하려면 replace를 사용하십시오.