Angular의 UI 라우터에 URL이 없는 상태의 파라미터JS
ui-router를 사용하여 Angular의 상태를 나타냅니다.JS 앱에서는 URL을 변경하지 않고 상태를 변경하고 싶습니다(기본적으로 "상세보기"는 갱신되지만 URL에는 영향을 주지 않습니다).
사용하고 있다<a ui-sref="item.detail({id: item.id})">자세한 내용을 표시하지만 다음과 같은 URL을 지정한 경우에만 작동합니다.url: "/detail-:id"내 안에서$stateProvider.
현재 상태는 URL로만 정의되어 있는 것 같습니다.
이 게시물에 새로 오신 분들을 위한 추가 정보:
상태 정의의 매개 변수 선언이 다음과 같이 변경되었습니다.params: { id: {} }부터params: ['id']
주의:)
출처: http://angular-ui.github.io/ui-router/site/ #/api/ui.router.state.$stateProvider
답변 감사합니다. 올바른 방향으로 가는 데 도움이 되긴 했지만 좀 더 자세한 설명을 덧붙이고 싶습니다.
특정 문제에서는 URL이 아닌 파라미터를 삽입해야 하는 상태가 자녀 상태였기 때문에 복잡한 요인이 있었습니다.그 일은 약간 복잡했다.
그params: ['id']부품은 에 들어갑니다.$stateProvider선언은 다음과 같습니다.
$stateProvider.state('parent', {
url: '/:parentParam',
templateUrl: '...',
controller: '...'
}).
state('parent.child', {
params: ['parentParam','childParam'],
templateUrl: '...',
controller: '...'
});
그리고 파라미터명은 에 접속되어 있습니다.ui-sref다음과 같은 속성:
<a ui-sref=".child({ childParam: 'foo' })">
그리고 단점은 다음과 같습니다.
부모 상태에도 URL 파라미터가 있는 경우 자녀도 URL 파라미터에 대해 선언해야 합니다.
params위의 예에서는 parentParam을 자녀 상태에 포함해야 합니다.
그렇지 않으면 응용 프로그램 초기화 시 모듈 오류가 발생합니다.이것은 적어도 기입시의 최신 버전(v.0.2.10)에서는 해당됩니다.
편집
@gulsahkandemir는 다음과 같이 지적한다.
상태 정의의 매개 변수 선언이 매개 변수: ['id']에서 매개 변수: {id: {} }(으)로 변경되었습니다.
changelog로 판단하건대, 이것은 v0.2.11부터의 경우인 것 같습니다.
파라미터에 대한 자세한 내용은 공식 문서에서 확인할 수 있습니다.
이제 깨달았어, 넌 이 모든 것들을params: ['id']URL을 사용하지 않을 때 키가 제거되지 않도록 하기 위한 상태 속성.
언급URL : https://stackoverflow.com/questions/22814554/parameters-for-states-without-urls-in-ui-router-for-angularjs
'codememo' 카테고리의 다른 글
| org.springframework 패키지부팅이 존재하지 않습니다. (0) | 2023.03.14 |
|---|---|
| Angular의 상위 컨트롤러에서 디렉티브의 메서드를 호출합니다.JS (0) | 2023.03.14 |
| TypeScript에서 오브젝트에 속성을 동적으로 할당하려면 어떻게 해야 합니까? (0) | 2023.03.14 |
| Woocommerce - 플러그인에서 제품 유형을 확인하는 방법 (0) | 2023.03.14 |
| @트랜잭션 주석은 saveAndFlush에서 작동합니까? (0) | 2023.03.14 |