2017-11-21 1 views
0

Ember를 사용하여 최상위 수준 URL (예 : localhost : 4200/demo)을 사용하고 아래의 모든 경로에도 동일한 URL을 표시하려는 경우가 있습니다 localhost : 4200/demo). 그래서 경로 파일은 가능하면 같은 보일 것이다여러 개의 중첩 Ember 경로에 동일한 URL 사용

this.route('demo', function() { 
    this.route('one', { path: '/' }); 
    this.route('submit', { path: '/' }); 
}); 

내가 ENV.locationtype 전체 응용 프로그램을 설정할 수 있습니다 이해를하지만, 조건부 부모 URL 아래에 특정 URL이 설정하는 방법은 무엇입니까?

답변

0

기본적으로 Ember는 URL을 관리하거나 관리하지 않도록 설정할 수 있지만 논리적으로 허용되지 않는 단일 환경에서 둘 다 수행하도록 원하는 의도가있는 것처럼 보입니다.

에 대해 none이 선언 된 경우 Ember의 기본 URL 관리가 해제되어 있습니다. 이는 "환경 전체"구성입니다.

Ember 라우터를 사용하여 중첩 된 경로를 매핑하고 기본 URL 관리가 작동하는 경우 여러 URL, 형제, 하위 경로에 대해 동일한 URL 경로를 정의 할 수 없습니다.

위의 시도는 라우터 맵 내의 모든 중첩 수준에서 사용할 수있는 single index route에 의해 관리되는 기능을 사용하는 것입니다. 그러나 경로에는 복수 index 경로를 사용할 수 없습니다. 마지막으로 정의 된 것만 인식됩니다.

Router.map(function() { 
    this.route('demo', function() { 
    this.route('one', { path: '/' }) // <-- this is over-ridden by "submit" 
    this.route('submit', { path: '/' }) // <-- this defines an "index" route for demo 
    }) 
}) 
+0

ENV.locationtype을 none으로 설정할 수 있습니다. https://guides.emberjs.com/ v2.11.0/configured-ember/지정 URL 유형 /. 그래서 이것은 emberRouter가 패키지/ember-routing/lib/system/router.js에 URL을 설정하고 있으며, 앱 수준에서 커스터마이징 및 오버 라이드되어 핵심 규칙을 그대로 유지할 수 있음을 나타냅니다. – Ezra

+0

글쎄, 나는 엠버 경로를 가능한 한 적게 방해하고, {{link-to}}와 같은 헬퍼를 오브젝트 참조 점 표기법과 함께 사용하여 경로를 참조하고 싶습니다. 라우트 함수의 {path : '/ string'} 객체는 이미 기본 URL 구조를 재정의하고 있으므로 상위 경로에 제출하는 것이 가능합니다. {useParent : true} 객체 나 그와 유사한 객체를 추가하는 플러그인을 굴려야 할 수도 있습니다. 기존 기능이있을 수도 있고 비슷한 기능을 수행 한 사람도있을 수 있기를 바랬습니다. – Ezra

+0

@Ezra 답변을 더 자세히 업데이트했습니다. 나는 이것이 도움이되기를 바랍니다. – jacefarm

1

일반적으로 당신은 엠버가 암시 적으로 무슨 일을하는 것은 좋은 생각이 아니라고 말하려고하기 때문에 그것이이 같은 주요 그루터기 타격 끝날 때.

하위 경로가 어떤 식 으로든 URL에 영향을 미치지 않게하는 특별한 이유가 있습니까? 주요 목적이 사물을 난독 화하는 것이라면 URL에 임의의 값을 넣을 수 있습니까?

Ember는 URL을 사용하여 앱에서 어떤 상태가되어야하는지 알아냅니다. 루트를 사용하지 않으려 고하지만, 그 시점에서 스스로 전환해야하는 구성 요소의 중첩 된 계층 구조를 처리해야합니다. 본질적으로 라우터없이 React를 사용하는 것과 비슷합니다 ...

+0

동의합니다. history_location.js 파일을 수정하지 말고 동적 구성 요소의 가독성과 구조를 향상시키는 방법을 사용하기로 결정했습니다. – Ezra

+0

차가움. 또한 기꺼이 받아 들일 수 있습니다 ;-) – acorncom

관련 문제